/* Selected visual direction, shared page system. */
:root{--muted:#56635c}
[hidden]{display:none!important}
.site-header>.button{padding:12px 16px;min-height:44px;font-size:11px}
.site-header nav a{font-size:12px;position:relative}
.site-header nav a[aria-current="page"]{color:#006b79}
.site-header nav a[aria-current="page"]::after{content:"";position:absolute;bottom:-8px;left:0;width:18px;height:1px;background:currentColor}
.hero-number{background:var(--ink);border:0}
.page-intro{padding-top:28px;padding-bottom:62px;border-top:1px solid var(--line)}
.breadcrumbs{display:flex;gap:12px;flex-wrap:wrap;font-size:11px;color:var(--muted);margin-bottom:45px}
.breadcrumbs a{text-decoration:underline;text-underline-offset:4px}
.intro-grid{display:grid;grid-template-columns:1.6fr 1fr;gap:75px;align-items:end;margin-top:25px}
.intro-grid h1{font-size:clamp(58px,6vw,91px);line-height:1.04}
.intro-grid>p{font-size:14px;color:var(--muted);max-width:350px;line-height:1.8;padding-bottom:8px}
.collection-link{display:flex;justify-content:flex-end;padding-bottom:60px;margin-top:-60px}
.portfolio-note{display:flex;align-items:center;gap:12px;font-size:12px;color:var(--muted);padding-bottom:34px}
.portfolio-grid{display:grid;grid-template-columns:1fr 1fr;gap:70px 50px;padding-bottom:110px}
.portfolio-grid .project-card:nth-child(n){padding-top:0}
.portfolio-grid .project-card:nth-child(even){padding-top:100px}
.portfolio-grid .project-card img{aspect-ratio:4/5}
.portfolio-grid .project-card h3{font-size:36px}
.project-caption{display:flex;justify-content:space-between;border-top:1px solid var(--line);padding-top:19px;padding-bottom:25px;font-size:11px;gap:20px;color:var(--muted)}
.project-gallery{display:grid;grid-template-columns:1fr 1fr;gap:35px;align-items:start}
.project-gallery figure:nth-child(even){padding-top:65px}
.project-gallery figure img{width:100%;height:auto}
.project-gallery figcaption,.offer-editorial figcaption,.design-pair figcaption{font-size:10px;letter-spacing:.07em;text-transform:uppercase;color:var(--muted);padding:15px 0}
.gallery-image{display:block;position:relative;cursor:zoom-in;overflow:hidden}
.zoom-hint{position:absolute;right:18px;bottom:18px;background:var(--paper);padding:8px 13px;font-size:11px}
.detail-text{padding-top:90px;padding-bottom:90px;border-bottom:1px solid var(--line)}
.detail-text .button{margin-top:25px}
.space-top{margin-top:20px}
.image-disclaimer{margin-top:25px;font-size:12px}
.alternate-project{padding-top:80px;padding-bottom:80px}
.alternate-project h2{margin:20px 0}
.alternate-project>p:not(.eyebrow){max-width:560px;font-size:14px;color:var(--muted);margin-bottom:35px}
.next-project{padding-top:60px;padding-bottom:80px}
.next-project>a{display:flex;justify-content:space-between;align-items:center;gap:30px;margin-top:20px}
.next-project>a>span{font-size:60px;font-family:var(--serif)}
.closing{display:grid;grid-template-columns:1.4fr 1fr;gap:70px;padding-top:85px;padding-bottom:85px;border-top:1px solid var(--line);align-items:center}
.closing h2{margin-top:23px}
.closing>div>p:not(.eyebrow){font-size:14px;max-width:330px;color:var(--muted);margin-bottom:24px}
.offer-editorial{display:grid;grid-template-columns:1fr 1fr;gap:95px;align-items:center}
.offer-editorial figure img{aspect-ratio:4/5;object-fit:cover;max-height:680px}
.offer-editorial h2{font-size:clamp(42px,4.4vw,65px);margin:26px 0}
.offer-editorial p:not(.eyebrow){max-width:350px;font-size:14px;color:var(--muted)}
.offer-editorial .text-link{margin-top:25px}
.category-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:45px}
.category-grid article{border-top:1px solid var(--line);padding-top:22px}
.category-grid h3{font-family:var(--serif);font-size:33px;margin:24px 0 15px}
.category-grid p{font-size:13px;max-width:280px;color:var(--muted)}
.section-footnote{font-size:12px;color:var(--muted);margin-top:45px}
.soft-band{background:#e8e9e0;padding:80px 0}
.feature-split{display:grid;grid-template-columns:1fr 1fr;gap:100px;align-items:start}
.feature-split h2{margin-top:23px}
.feature-split>div>p:not(.eyebrow){font-size:14px;color:var(--muted);max-width:460px;line-height:1.9}
.feature-split .button{margin-top:27px}
.design-pair{display:grid;grid-template-columns:1fr 1fr;gap:30px}
.design-pair figure:nth-child(2){padding-top:80px}
.copy-stack>p+p{margin-top:22px}
.numbered-list{padding:0;margin:0;list-style:none}
.numbered-list li{display:flex;gap:25px;border-top:1px solid #b4bdaf;padding:22px 0}
.numbered-list li>span{font-size:12px;padding-top:5px}
.numbered-list h3{font-size:23px}
.numbered-list p{font-size:13px;max-width:380px;margin-top:10px;color:var(--muted)}
.faq-section{display:grid;grid-template-columns:.85fr 1.15fr;gap:85px}
.faq-section h2{margin-top:23px}
.faq-list details{border-top:1px solid var(--line)}
.faq-list details:last-child{border-bottom:1px solid var(--line)}
.faq-list summary{list-style:none;display:flex;justify-content:space-between;gap:25px;cursor:pointer;padding:24px 0;font-size:16px;line-height:1.5}
.faq-list summary::-webkit-details-marker{display:none}
.faq-list summary span{font-size:23px;line-height:1;flex-shrink:0}
.faq-list details[open] summary span{transform:rotate(45deg)}
.faq-list details>p{font-size:14px;color:var(--muted);padding:0 30px 25px 0;max-width:580px}
.faq-list a{text-decoration:underline}
.process-timeline{padding-top:15px;padding-bottom:65px}
.process-timeline article{display:grid;grid-template-columns:1fr 2.4fr;gap:60px;border-top:1px solid var(--line);padding:55px 0}
.timeline-number{font-family:var(--serif);font-size:100px;line-height:1;color:#687967}
.process-timeline h2{font-size:clamp(40px,4.2vw,64px);margin:18px 0}
.process-timeline article p:not(.eyebrow){font-size:14px;color:var(--muted);max-width:620px}
.stage-note{margin-top:25px;font-size:12px;border-left:1px solid #9aa995;padding-left:17px;color:var(--muted);max-width:570px}
.editorial-note{background:#e8e9e0;padding-top:60px;padding-bottom:60px}
.editorial-note h2{font-size:60px;margin:23px 0}
.editorial-note>p:not(.eyebrow){font-size:14px;max-width:510px;color:var(--muted)}
.salon-page{padding-top:65px;padding-bottom:65px}
.visit-grid{display:grid;grid-template-columns:1fr 1fr;gap:100px;border-bottom:1px solid var(--line)}
.visit-grid h2{margin:24px 0;font-size:60px}
.visit-grid p{font-size:14px}
.visit-grid .text-link{margin-top:18px}
.opening-hours{margin:24px 0}
.opening-hours>div{display:flex;justify-content:space-between;gap:20px;padding:15px 0;border-bottom:1px solid var(--line)}
.opening-hours dd{margin:0}
.outlet-note{padding-bottom:70px;display:grid;grid-template-columns:1fr 2fr;gap:45px}
.outlet-note p:not(.eyebrow){font-size:13px;color:var(--muted);max-width:590px}
.outlet-note a{text-decoration:underline}
.contact-page{padding-top:45px;padding-bottom:70px}
.contact-address{margin:48px 0 20px}
.contact-address h2{font-size:46px;margin:0 0 20px}
.contact-address p+p{margin-top:18px}
.contact-address .text-link{margin-top:18px}
.contact-form{gap:23px}
.contact-form label{font-size:13px}
.contact-form .preview-note{font-size:12px}
.contact-form .preview-note a{text-decoration:underline}
.contact-form input,.contact-form textarea{font-size:14px}
.contact-form input::placeholder,.contact-form textarea::placeholder{color:#637065;opacity:1}
.form-afterword{font-size:12px;margin-top:18px;color:var(--muted)}
.form-afterword a{text-decoration:underline}
.project-context{background:#e8e9e0;padding:18px 22px;margin-bottom:28px}
.project-context p{font-family:var(--serif);font-size:29px;margin-top:7px;color:var(--ink)}
.contact-form .form-feedback:not(:empty){background:#e8e9e0;padding:18px 20px;border-left:2px solid #596c55}
.contact-form button:disabled{opacity:.7}
.prose-page{max-width:1000px;padding-bottom:80px}
.prose-page h2{font-size:38px;margin:35px 0 20px}
.prose-page p{font-size:15px;color:var(--muted);max-width:710px}
.review-directory>a{display:grid;grid-template-columns:60px 1fr 50px;gap:20px;padding:27px 0;border-top:1px solid var(--line);align-items:center}
.review-directory h2{font-size:40px}
.review-directory>a>span{font-size:13px}
.review-directory>a>span:last-child{font-size:27px;text-align:right}
.site-footer{border-top:1px solid var(--line);padding-top:40px;padding-bottom:25px}
.footer-top{display:grid;grid-template-columns:1fr 1.4fr 1fr;gap:35px;align-items:start;padding-bottom:35px}
.footer-top p,.footer-top div{font-size:13px;color:var(--muted)}
.footer-top>div{display:grid;justify-content:end;gap:5px}
.site-footer>nav{display:flex;gap:24px;flex-wrap:wrap;font-size:12px;padding-bottom:30px}
.site-footer a:hover{color:#006b79}
.footer-bottom{display:flex;justify-content:space-between;gap:25px;border-top:1px solid var(--line);padding-top:22px;font-size:11px;color:var(--muted)}
.lightbox{position:fixed;inset:0;border:0;padding:0;background:#f5f3ed;color:var(--ink);width:min(1200px,94vw);max-width:94vw;max-height:94vh;max-height:94dvh;box-shadow:0 12px 50px #0003}
.lightbox::backdrop{background:#182321e8}
.lightbox-head{display:flex;justify-content:space-between;align-items:center;gap:20px;padding:15px 20px;border-bottom:1px solid var(--line)}
.lightbox-title{font-size:13px}
.lightbox button{border:1px solid var(--line);background:var(--paper);color:var(--ink);padding:10px 15px;min-height:44px;cursor:pointer;font-size:13px}
.lightbox img{height:calc(94vh - 155px);height:calc(94dvh - 155px);width:100%;object-fit:contain;background:#e8e9e0}
.lightbox-controls{padding:13px 20px;display:flex;justify-content:space-between;align-items:center;font-size:12px;gap:15px}
.tour-close{margin-top:15px;align-self:flex-start;padding:10px 15px;border:1px solid #b5c0b2;background:transparent;color:var(--paper);cursor:pointer}
.tour-status{margin-top:14px;font-size:11px!important}
@media(min-width:761px){.site-header>.button{white-space:nowrap}}
@media(max-width:1100px){.intro-grid,.offer-editorial,.feature-split,.faq-section,.visit-grid{gap:45px}.intro-grid{grid-template-columns:1.5fr 1fr}.site-header nav{gap:13px}.site-header nav a{font-size:11px}.site-header{gap:20px}.site-header>.button{gap:16px}.hero h1{font-size:clamp(55px,6.7vw,76px)}}
@media(max-width:900px) and (min-width:761px){.site-header .brand{width:125px}.site-header nav{gap:10px}.site-header nav a{font-size:10px}.site-header>.button{padding:10px 12px;font-size:10px}.site-header{gap:15px}}
@media(max-width:760px){.site-header{gap:10px}.site-header>.button{margin-left:auto;font-size:10px;padding:10px 12px;gap:10px;min-height:44px}.site-header .mobile-menu nav a{font-size:15px}.site-header nav a[aria-current="page"]::after{bottom:5px}.site-header .brand{width:115px}.page-intro{padding-top:22px;padding-bottom:38px}.breadcrumbs{margin-bottom:32px;gap:10px;font-size:10px}.intro-grid{grid-template-columns:1fr;gap:25px;margin-top:24px}.intro-grid h1{font-size:clamp(44px,11.8vw,65px);line-height:1.07}.intro-grid>p{font-size:14px;max-width:390px}.collection-link{margin-top:-30px;padding-bottom:38px;justify-content:flex-start}.portfolio-note{font-size:11px;align-items:flex-start;padding-bottom:28px}.portfolio-note .dot{margin-top:5px;flex-shrink:0}.portfolio-grid{grid-template-columns:1fr;gap:42px;padding-bottom:60px}.portfolio-grid .project-card:nth-child(n){padding-top:0}.portfolio-grid .project-card h3{font-size:33px}.project-caption{font-size:10px;flex-direction:column;gap:5px;padding-top:16px;padding-bottom:20px}.project-gallery{grid-template-columns:1fr;gap:25px}.project-gallery figure:nth-child(n){padding-top:0}.project-gallery figcaption{padding:11px 0}.detail-text{padding-top:48px;padding-bottom:48px;gap:30px}.alternate-project{padding-top:45px;padding-bottom:45px}.alternate-project h2{font-size:43px}.alternate-project>p:not(.eyebrow){font-size:13px}.next-project{padding-top:40px;padding-bottom:50px}.next-project h2{font-size:43px}.next-project>a>span{font-size:36px}.closing{grid-template-columns:1fr;gap:28px;padding-top:55px;padding-bottom:55px}.closing h2{font-size:47px}.offer-editorial{grid-template-columns:1fr;gap:25px}.offer-editorial h2{font-size:43px;margin:20px 0}.category-grid{grid-template-columns:1fr 1fr;gap:32px 23px}.category-grid h3{font-size:28px;margin:18px 0 12px}.category-grid .eyebrow{font-size:9px}.category-grid p{font-size:12px}.soft-band{padding:50px 0}.feature-split{grid-template-columns:1fr;gap:30px}.design-pair{gap:18px}.design-pair figure:nth-child(2){padding-top:35px}.design-pair figcaption{font-size:8px;line-height:1.6}.numbered-list h3{font-size:22px}.faq-section{grid-template-columns:1fr;gap:35px}.faq-list summary{font-size:15px;padding:20px 0}.faq-list details>p{font-size:13px}.process-timeline{padding-bottom:40px}.process-timeline article{grid-template-columns:45px 1fr;gap:17px;padding:32px 0}.timeline-number{font-size:43px}.process-timeline h2{font-size:37px;margin:15px 0}.process-timeline article p:not(.eyebrow){font-size:13px}.stage-note{font-size:11px;padding-left:13px}.editorial-note{padding-top:42px;padding-bottom:42px}.editorial-note h2{font-size:47px}.salon-page{padding-top:45px;padding-bottom:45px}.visit-grid{grid-template-columns:1fr;gap:42px}.visit-grid h2{font-size:44px}.opening-hours{font-size:13px}.outlet-note{grid-template-columns:1fr;gap:17px;padding-bottom:45px}.contact-page{padding-top:30px;padding-bottom:30px;gap:45px}.contact-address h2{font-size:41px}.contact-address{margin-top:32px}.contact-detail>a:first-child{font-size:38px}.contact-form label{font-size:13px}.footer-top{grid-template-columns:1fr;gap:23px;padding-bottom:25px}.footer-top>div{justify-content:start}.site-footer>nav{gap:17px 24px;font-size:12px}.footer-bottom{flex-direction:column;gap:13px}.site-footer{padding-top:32px}.review-directory>a{grid-template-columns:25px 1fr 25px;gap:14px;padding:23px 0}.review-directory h2{font-size:30px}.prose-page h2{font-size:33px}.prose-page p{font-size:14px}.lightbox{width:96vw;max-width:96vw}.lightbox-head{padding:12px}.lightbox-title{font-size:11px}.lightbox-controls{padding:12px}.lightbox-controls button{padding:10px 12px;font-size:11px}}
@media(max-width:480px){.design-pair{grid-template-columns:1fr;gap:20px}.design-pair figure:nth-child(2){padding-top:0}.design-pair figcaption{font-size:10px}}
@media(max-width:360px){.site-header .brand{width:95px}.site-header>.button{font-size:9px;padding:10px;gap:8px}.hero h1{font-size:clamp(48px,16vw,55px)}.hero{grid-template-columns:minmax(0,1fr)}.hero-copy{min-width:0}.hero-actions{gap:18px}.hero-actions .button{padding:14px 18px;gap:25px}.hero-actions .text-link{font-size:11px;gap:12px}.hero .eyebrow{font-size:9px}.hero-location{font-size:9px;gap:10px}.category-grid{grid-template-columns:1fr}.intro-grid h1{font-size:43px}.process-timeline article{grid-template-columns:1fr;gap:15px}.timeline-number{font-size:45px}}
.person .person-role{font-size:12px;color:var(--muted);margin:8px 0 18px}
.designer-portfolio{display:grid;grid-template-columns:minmax(0,1fr) 260px;gap:70px;align-items:center;border-top:1px solid var(--line);padding-top:60px;padding-bottom:70px}
.designer-portfolio h2,.contact-invitation h2{font-size:clamp(38px,4vw,58px);line-height:1.07;margin:22px 0}
.designer-portfolio p:not(.eyebrow),.contact-invitation>p:not(.eyebrow){font-size:15px;color:var(--muted);max-width:530px;line-height:1.8}
.designer-actions,.contact-actions{display:flex;flex-wrap:wrap;gap:22px;align-items:center;margin-top:28px}
.designer-qr{display:block;text-align:center;font-size:11px;color:var(--muted)}
.designer-qr img{display:block;width:100%;height:auto;border-radius:10px;margin-bottom:14px}
.designer-contact{display:grid;gap:10px;margin:30px 0;padding-top:26px;border-top:1px solid var(--line)}
.designer-contact h3{font-size:26px;margin:4px 0;font-weight:400}
.designer-contact>a{font-size:14px;text-decoration:underline;text-underline-offset:5px;overflow-wrap:anywhere;width:fit-content}
.contact-invitation{background:#e9ece3;padding:38px}
.contact-invitation .designer-contact{margin-bottom:0}
@media(max-width:760px){.designer-portfolio{grid-template-columns:1fr;gap:32px;padding-top:42px;padding-bottom:45px}.designer-qr{max-width:210px;justify-self:center}.contact-invitation{padding:26px 22px}.designer-actions .button{font-size:12px;padding:16px 20px}.contact-actions .button{font-size:12px;padding:16px 18px}.contact-actions{align-items:flex-start;flex-direction:column}.designer-portfolio h2,.contact-invitation h2{font-size:38px}}
