/* A shared pace, clearer hierarchy and resilient small-screen layouts. */
:root{--ease-out:cubic-bezier(.2,.65,.3,1);--motion-duration:.65s}
.reveal{transition:opacity var(--motion-duration) var(--ease-out),transform var(--motion-duration) var(--ease-out)}
.grid2>*,.grid3>*,.hero-grid>*,.contact-grid>*{min-width:0}
h1,h2,h3{overflow-wrap:break-word}
button,input,textarea,select{color:inherit}
.preview-heading{flex-wrap:wrap}.preview-controls label{min-width:0}.preview-reset{flex-shrink:0;min-height:44px}
.preview-scrub{height:44px}.preview-scrub:focus-visible{outline:2px solid #49685e;outline-offset:3px;border-radius:5px}
.design-composition{position:relative;background:#e5e9e5;border:1px solid #cfd8d2;border-radius:28px;padding:28px;overflow:hidden;color:#263a34}
.design-composition-top{display:flex;justify-content:space-between;gap:20px;font-size:10px;letter-spacing:.12em;margin-bottom:30px}
.design-sheet{background:#fffefb;border:1px solid #d5dad2;border-radius:14px;box-shadow:0 20px 40px #26382e16;transform:rotate(-2deg);overflow:hidden;animation:sheet-arrive .8s var(--ease-out) both}
.design-sheet-nav{padding:18px;display:flex;align-items:center;gap:12px;border-bottom:1px solid #e5e7e1;font-size:12px;letter-spacing:.14em}
.design-sheet-nav span{margin-right:auto}.design-sheet-nav i{width:30px;height:3px;background:#b7c0b8}
.design-sheet-content{display:grid;grid-template-columns:1fr 1fr;align-items:center;gap:16px;padding:24px 18px}
.design-sheet-content strong{display:block;font-size:clamp(24px,2.4vw,34px);font-weight:550;line-height:1.08;letter-spacing:-.05em;margin:12px 0 18px}
.design-kicker{font-size:9px;letter-spacing:.06em;color:#677369}
.subhero .hero-grid .design-sheet-content img{height:210px;object-fit:cover;border-radius:60px 60px 10px 10px}
.design-line{display:block;height:3px;background:#cdd3ca;width:85%;margin:7px 0}.design-line.short{width:65%}
.design-pill{display:inline-block;font-size:10px;padding:8px 13px;border-radius:30px;background:#2c4439;color:white;margin-top:14px}
.design-sheet-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:10px;padding:0 18px 18px}.design-sheet-grid i{height:38px;border:1px solid #dfe5dc;border-radius:7px;background:#f1f3ec}
.design-caption{display:flex;justify-content:space-between;gap:8px;margin-top:34px;font-size:12px;color:#435b4e}
.subhero .design-footnote{font-size:12px;margin-top:15px;color:#586b60}
@keyframes sheet-arrive{from{opacity:0;transform:translateY(14px) rotate(0)}to{opacity:1;transform:translateY(0) rotate(-2deg)}}
.delivery-stages{position:relative}.delivery-stages>div{position:relative;padding-left:14px;border-left:1px solid #79968b50;animation-duration:var(--motion-duration);animation-timing-function:var(--ease-out)}
.delivery-stages>div:before{content:'';width:5px;height:5px;position:absolute;left:-3px;top:24px;background:#b6d2bf;border-radius:50%;box-shadow:0 0 0 4px #1d3330}
.detail-gallery{display:grid;grid-template-columns:1fr 1fr;gap:28px;margin-top:32px}
.detail-study{margin:0;min-width:0}.detail-study-image{padding:18px;background:#e8ebe7;border:1px solid #d7ded7;border-radius:24px;overflow:hidden}
.detail-study-image img{display:block;width:100%;height:auto;border-radius:12px;transition:transform var(--motion-duration) var(--ease-out)}
.detail-study figcaption{padding:22px 4px 0}.detail-study h3{font-size:25px;margin-bottom:10px}.detail-study p{font-size:15px;line-height:1.7;margin-bottom:0;max-width:490px}
.founder-note{display:grid;grid-template-columns:1fr 1fr;gap:48px;padding:38px 0;border-top:1px solid #cdd6cf;border-bottom:1px solid #cdd6cf}
.founder-note h2{font-size:clamp(2rem,3.6vw,3.4rem);margin-bottom:12px}.founder-role{font-size:13px;color:#5a6b60}.founder-note p{font-size:17px;margin-bottom:14px}
@media(hover:hover) and (prefers-reduced-motion:no-preference){.detail-study:hover img{transform:scale(1.02)}}
@media(min-width:721px) and (max-width:960px){
 .nav-links{display:none;position:absolute;left:0;right:0;top:86px;max-height:calc(100dvh - 86px);overflow:auto;background:#f7f7f5;padding:26px;flex-direction:column;align-items:stretch;gap:20px;border-bottom:1px solid var(--line)}
 .nav-links.open{display:flex}.menu-button{display:block;color:var(--ink)}.nav>.btn{margin-left:auto}
 .all-pages .page-directory{position:static;width:100%;max-height:none;box-shadow:none}
 .subhero .hero-grid{grid-template-columns:1fr 1fr;gap:28px}.subhero .hero-grid h1{font-size:clamp(2.6rem,5vw,3.5rem)}
 .design-composition{padding:20px}.design-sheet-content{gap:8px;padding:20px 12px}.design-sheet-content strong{font-size:25px}
}
@media(max-width:720px){
 .nav-links{overflow-y:auto;overscroll-behavior:contain;padding-bottom:28px}
 .hero h1{font-size:clamp(2.8rem,11.8vw,4.6rem)}
 .subhero h1,.subhero .hero-grid h1{font-size:clamp(2.4rem,10vw,3.6rem)}
 .subhero .hero-grid{gap:32px}.subhero .hero-grid .studio-hero{height:300px}
 .hero .actions{gap:10px}.hero .actions .btn{padding:13px 16px;gap:10px}
 .hero-copy{padding-bottom:200px}.hero-copy .eyebrow{font-size:10px}
 .detail-gallery,.founder-note{grid-template-columns:1fr;gap:30px}.detail-study-image{padding:12px;border-radius:20px}
 .founder-note{padding:28px 0;gap:20px}.founder-note p{font-size:16px}
 .design-composition{padding:24px 20px}.design-composition-top{margin-bottom:24px}.design-sheet-content strong{font-size:28px}
 .subhero .hero-grid .design-sheet-content img{height:180px}.design-caption{margin-top:26px}
 .guided-window{height:clamp(230px,68vw,340px)}.preview-controls{gap:12px}
 .card .price{font-size:42px}.field input,.field select,.field textarea{font-size:16px}
 .cta .actions .btn{max-width:100%}.footer-bottom{line-height:1.7}.motion-control{max-width:calc(100% - 32px)}
}
@media(max-width:360px){.wrap{width:calc(100% - 32px)}.hero .actions .btn{font-size:12px;padding:12px 14px}.preview-controls{flex-wrap:wrap}.preview-controls label{flex-basis:100%}.design-composition{padding:18px 14px}}
@media(prefers-reduced-motion:reduce){.design-sheet{animation:none}.detail-study-image img{transition:none}}
