/* Collection, project enquiries, and mobile navigation. */
:root{--soft:#f4f3ee;--accent:#b74905}
button,summary,a{touch-action:manipulation}
summary:focus-visible{outline:3px solid var(--accent);outline-offset:6px}
.header nav{gap:26px}.hero{padding-bottom:54px}.hero-copy{padding-right:18px}
.hero .eyebrow{font-size:.68rem;letter-spacing:.12em}
.hero-location{display:flex;align-items:center;gap:9px;margin-top:32px;font-size:.76rem;color:var(--muted);line-height:1.8}
.location-dot{width:7px;height:7px;background:var(--accent);border-radius:50%;flex-shrink:0}.hero-location-separator{margin-inline:6px;color:#a5a79e}
.products{padding-block:80px 56px;scroll-margin-top:20px}.product-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:26px}
.product-card{display:block;min-width:0}.product-card:hover{text-decoration:none}.product-photo{position:relative;aspect-ratio:1/1;background:var(--soft);overflow:hidden}
.product-photo img{width:100%;height:100%;object-fit:contain;mix-blend-mode:multiply;transition:transform .35s ease}
.product-card:hover img{transform:scale(1.035)}.product-label{position:absolute;top:16px;left:16px;padding:8px 10px;background:#fff;font-size:.64rem;font-weight:700;letter-spacing:.11em}
.product-copy{display:flex;gap:14px;justify-content:space-between;align-items:flex-start;margin-top:20px}.product-copy h3{font-family:var(--display);font-size:1.05rem;font-weight:650;line-height:1.5;letter-spacing:-.025em;margin:0;max-width:260px}
.product-arrow{font-size:1.35rem;color:var(--accent)}.product-action{display:block;margin-top:9px;font-size:.8rem;color:var(--muted);text-decoration:underline;text-underline-offset:5px}.product-card:hover .product-action{color:var(--accent)}
.shopping-note{font-size:.81rem;color:var(--muted);padding-top:24px;margin:28px 0 0;border-top:1px solid var(--line);display:flex;gap:10px;line-height:1.6}
.materials{border-top:1px solid var(--line);padding-block:58px 76px}.material-image img{transition:transform .4s}.material:hover .material-image img{transform:scale(1.025)}
.project-section{background:var(--soft);border-block:1px solid var(--line)}.project-grid{display:grid;grid-template-columns:1.1fr 1fr;gap:90px;padding-block:76px}
.project-intro h2{font-size:clamp(2.4rem,3.7vw,3.5rem);line-height:1.2;margin-bottom:24px}.project-intro h2 em{font-style:normal;color:var(--accent)}
.project-intro>p:not(.eyebrow){color:var(--muted);font-size:1rem;line-height:1.75;max-width:450px;margin-bottom:26px}.project-intro .email-note{font-size:.76rem!important;margin:14px 0 0!important;line-height:1.6!important;max-width:360px!important}
.project-steps{list-style:none;padding:0;margin:0;align-self:center}.project-steps li{display:flex;gap:24px;padding:27px 0;border-top:1px solid #d5d5cb}.project-steps li:last-child{padding-bottom:0}.step-number{font-family:var(--display);font-size:.78rem;color:var(--accent);font-weight:700;padding-top:5px}
.project-steps h3{font-family:var(--display);font-size:1.18rem;letter-spacing:-.025em;margin:0 0 10px}.project-steps p{color:var(--muted);font-size:.91rem;line-height:1.75;margin:0;max-width:390px}
.faq{display:grid;grid-template-columns:.85fr 1.3fr;gap:70px;padding-block:80px}.faq .text-link{margin-top:25px}.faq .eyebrow{font-size:.68rem}.faq-items details{border-bottom:1px solid var(--line)}.faq-items details:first-child{border-top:1px solid var(--line)}
.faq-items summary{list-style:none;cursor:pointer;display:flex;justify-content:space-between;gap:24px;padding:24px 0;font-weight:600;font-size:.96rem;line-height:1.6}.faq-items summary::-webkit-details-marker{display:none}.faq-items summary span{font-size:1.4rem;color:var(--accent);line-height:1;align-self:center;transition:transform .2s}.faq-items details[open] summary span{transform:rotate(45deg)}
.faq-items details p{font-size:.92rem;line-height:1.8;color:var(--muted);padding-right:28px;margin:0 0 24px;max-width:600px}.faq-items p a{text-decoration:underline;text-underline-offset:3px;color:var(--ink)}
.footer-links{flex-wrap:wrap;justify-content:flex-end;max-width:560px}.footer-links a{overflow-wrap:anywhere}.mobile-actions{display:none}
@media(max-width:1100px){.header nav{gap:18px}.header nav>a:first-child{display:none}.project-grid{gap:42px}.faq{gap:38px}.footer-links{max-width:300px;align-items:flex-start;justify-content:center}.product-copy h3{font-size:.98rem}}
@media(max-width:700px){.hero-copy{padding-right:0}.hero .eyebrow{font-size:.65rem;letter-spacing:.09em}.hero-location{font-size:.72rem;margin-top:24px}.hero-location-separator{margin-inline:3px}.hero-visual{height:320px}.products{padding-block:48px 36px}.product-grid{grid-template-columns:1fr;gap:32px}.product-photo{aspect-ratio:1.12/1}.product-copy{margin-top:16px}.product-copy h3{font-size:1.15rem;max-width:none}.product-label{font-size:.65rem}.product-action{font-size:.86rem}.products h2{max-width:320px}.shopping-note{margin-top:28px;font-size:.79rem}.materials{padding-block:38px 48px}.project-grid{grid-template-columns:1fr;gap:36px;padding-block:48px}.project-intro h2{font-size:2.55rem}.project-intro .button{font-size:.85rem;gap:20px}.project-steps li{gap:20px;padding-block:23px}.faq{grid-template-columns:1fr;gap:30px;padding-block:48px}.faq h2 br{display:none}.faq .text-link{margin-top:20px}.faq-items summary{font-size:.91rem;padding-block:20px}.faq-items details p{font-size:.88rem}.footer-links{justify-content:flex-start;max-width:none;gap:18px 24px}.footer{padding-bottom:calc(86px + env(safe-area-inset-bottom))}.mobile-actions{display:grid;grid-template-columns:1fr 1fr;position:fixed;bottom:0;left:0;right:0;z-index:10;padding:10px 16px calc(10px + env(safe-area-inset-bottom));gap:10px;background:#fff;border-top:1px solid var(--line);box-shadow:0 -5px 24px #00000009}.mobile-actions a{min-height:44px;display:flex;align-items:center;justify-content:space-between;gap:14px;padding:11px 16px;border:1px solid var(--line);font-size:.81rem;font-weight:700}.mobile-actions a:last-child{background:var(--orange);border-color:var(--orange)}.mobile-actions a span{font-size:1.1rem}.text-link{white-space:normal}html{scroll-padding-bottom:90px}}
@media(max-width:360px){.wrap{width:calc(100% - 32px)}.brand-name{font-size:.64rem}.nav-shop{gap:8px;padding-inline:12px}.hero h1{font-size:3.3rem}.hero-location{flex-wrap:wrap}.project-intro h2{font-size:2.25rem}.project-intro .button{font-size:.79rem;padding-inline:18px}}
@media(prefers-reduced-motion:reduce){*{scroll-behavior:auto!important;transition:none!important}}
.hero-location>span:last-child{min-width:0;flex:1}.hero-location{flex-wrap:nowrap}
