/* A clearer editorial hierarchy, with the established Inter family. */
:root{--type-h1:72px;--type-h2:42px;--type-body:16px}
header{padding:12px 6%;min-height:104px}.wordmark{display:inline-flex;align-items:center;line-height:0;letter-spacing:0}.brand-symbol{display:block;width:80px;height:80px;object-fit:contain}.menu-top .brand-symbol{width:68px;height:68px}
h1,.hero-copy h1,.model-hero h1{font-size:72px;line-height:1.04;font-weight:500;letter-spacing:-.045em}.hero-copy h1{margin-bottom:30px}.hero-copy p{font-size:18px;line-height:28px;font-weight:300;max-width:460px}.hero-copy .eyebrow{margin-bottom:28px}.hero-copy{max-width:820px}
h2,.section-head h2,.wide-story h2,.cta h2,.story-interlude h2{font-size:42px;line-height:1.16;font-weight:300;letter-spacing:-.035em}.section-head p,.detail-grid p,.model-hero p,.cta p,.story-interlude p,.wide-story p{font-size:16px;line-height:26px;font-weight:400}.card h3,.small-cards .card h3{font-size:26px;line-height:33px;font-weight:500;letter-spacing:-.02em}.card p{font-size:15px;line-height:24px;font-weight:400}.eyebrow{font-size:11px;line-height:18px;letter-spacing:.14em;font-weight:500}.model-hero .subhead{font-size:25px;line-height:34px;font-weight:300;letter-spacing:-.02em}.model-hero .note{font-size:12px;line-height:19px}.model-hero h1{font-size:64px}.specs strong{font-weight:500}.wide-story-copy{max-width:820px}.wide-story p{max-width:470px}.number{font-size:11px}.meta{font-size:12px}.section-head{margin-bottom:55px}.card[href^='#saunas/'] img{object-position:50% 50%}
.brochure-tab{position:fixed;z-index:30;right:18px;top:50%;transform:translateY(-50%);display:flex;flex-direction:column;align-items:center;gap:16px;background:#ab5c26;color:#fffaf5;border:1px solid #ffffff35;border-radius:40px;padding:22px 12px 12px;box-shadow:0 5px 22px #34211425;transition:background .2s,box-shadow .2s}.brochure-tab-label{writing-mode:vertical-rl;transform:rotate(180deg);font-size:13px;line-height:20px;letter-spacing:.025em;font-weight:500}.brochure-tab-icon{display:flex;align-items:center;justify-content:center;border:1px solid #fff9;border-radius:40px;width:32px;height:32px}.brochure-tab svg{width:18px;height:18px;fill:none;stroke:currentColor;stroke-width:1.4;stroke-linecap:round;stroke-linejoin:round}.brochure-tab:hover{background:#8e481d;box-shadow:0 7px 28px #34211438}.brochure-tab:focus-visible{outline:3px solid #82b2f5;outline-offset:4px}body:has(#site-menu[open]) .brochure-tab{visibility:hidden}.contact-intro{padding-top:80px}
@media(max-width:1000px){h1,.hero-copy h1,.model-hero h1{font-size:60px}h2,.section-head h2,.wide-story h2,.cta h2,.story-interlude h2{font-size:36px}.brochure-tab{right:10px;padding:18px 9px 9px}.brochure-tab-label{font-size:12px}.brochure-tab-icon{width:29px;height:29px}}
@media(max-width:700px){header{min-height:90px;padding:8px 6%}.brand-symbol{width:70px;height:70px}.hero-copy h1,.model-hero h1,h1{font-size:48px;line-height:1.07;letter-spacing:-.035em}.hero-copy p{font-size:17px;line-height:26px;max-width:350px}.hero-copy h1{margin-bottom:25px}.section-head h2,.wide-story h2,.cta h2,.story-interlude h2,h2{font-size:32px;line-height:1.2;letter-spacing:-.025em}.card h3,.small-cards .card h3{font-size:25px;line-height:32px}.brochure-tab{top:auto;bottom:18px;right:16px;transform:none;flex-direction:row;gap:12px;padding:7px 8px 7px 18px;border-radius:40px;min-height:48px}.brochure-tab-label{writing-mode:horizontal-tb;transform:none;font-size:12px}.brochure-tab-icon{width:32px;height:32px}.video-control{right:auto;left:6%}.source-footer{padding-bottom:90px}.contact-intro{padding-top:55px}.menu-top{margin-bottom:45px}.menu-top .brand-symbol{width:64px;height:64px}}
@media(prefers-reduced-motion:reduce){.brochure-tab{transition:none}}
.faq-intro{max-width:none;padding-bottom:75px}.faq-intro h1{margin-bottom:28px}.faq-intro>p{font-size:18px;line-height:28px;max-width:540px}.faq-layout{display:grid;grid-template-columns:minmax(0,1fr);gap:0;padding:0 8% 100px}.faq-group{margin-bottom:80px;scroll-margin-top:35px}.faq-group:last-child{margin-bottom:0}.faq-group h2{font-size:36px;margin-bottom:18px}.faq-group-intro{font-size:16px;line-height:26px;color:var(--muted);margin-bottom:30px}.faq-item{padding:0;border-top:1px solid var(--line)}.faq-item:last-child{border-bottom:1px solid var(--line)}.faq-item summary{min-height:88px;padding:22px 0;gap:25px;align-items:center;list-style:none;font-size:18px;line-height:27px;font-weight:400}.faq-item summary::-webkit-details-marker{display:none}.faq-item summary::after{display:flex;align-items:center;justify-content:center;flex-shrink:0;background:#e1eafb;border:1px solid #c6d5eb;color:var(--ink);width:44px;height:34px;border-radius:40px;font-size:22px;line-height:1;font-weight:300}.faq-item[open] summary::after{background:var(--blue)}.faq-answer{padding:0 65px 24px 0;max-width:760px}.faq-answer p{font-size:16px;line-height:26px;color:var(--muted);padding:0;margin:0}.faq-answer a{text-decoration:underline;text-underline-offset:4px;color:var(--ink)}.faq-preview{background:#efe6de}.faq-preview .btn{margin-top:20px}.faq-preview .faq-list{max-width:960px}.faq-preview .section-head>div:last-child{max-width:400px}
@media(max-width:900px){.faq-layout{grid-template-columns:minmax(0,1fr);gap:0;padding-left:6%;padding-right:6%}.faq-group h2{font-size:32px}.faq-item summary{font-size:17px}.faq-answer{padding-right:25px}}
@media(max-width:650px){.faq-intro{padding-bottom:45px}.faq-intro>p{font-size:16px;line-height:26px}.faq-layout{grid-template-columns:1fr;gap:50px;padding-bottom:60px}.faq-group{margin-bottom:55px}.faq-group h2{font-size:30px;line-height:37px}.faq-item summary{min-height:80px;font-size:17px;line-height:25px;gap:16px}.faq-item summary::after{width:40px;height:32px}.faq-answer{padding-right:0}.faq-group-intro{font-size:15px;line-height:24px}}
/* Unframed hamburger and a right-hand milk-glass navigation panel. */
.menu-toggle{display:inline-flex;align-items:center;justify-content:center;width:48px;height:48px;min-height:48px;padding:10px;border:0;border-radius:0;background:transparent;color:var(--ink);cursor:pointer;box-shadow:none}.menu-toggle:hover{background:transparent;color:var(--brown)}.menu-toggle svg{width:28px;height:28px;fill:none;stroke:currentColor;stroke-width:1.4}.menu-toggle:focus-visible{outline:2px solid #37649d;outline-offset:4px}dialog#site-menu{background:rgba(250,247,242,.72);backdrop-filter:blur(28px) saturate(125%);-webkit-backdrop-filter:blur(28px) saturate(125%);border-left:1px solid rgba(255,255,255,.75);box-shadow:-15px 0 60px #2a21181a}dialog#site-menu::backdrop{background:rgba(29,23,19,.17);backdrop-filter:blur(2px)}#site-menu nav a{border-top-color:rgba(115,93,78,.25)}.menu-bottom{border-top-color:rgba(115,93,78,.25)}#site-menu nav a b{background:rgba(130,178,245,.65)}#site-menu .pill{background:rgba(255,255,255,.3);border-color:rgba(115,93,78,.4)}
.card-heading>.pill-arrow{width:40px;height:40px;min-width:40px;flex:0 0 40px;border-radius:50%;font-size:22px;aspect-ratio:1}
@keyframes menu-enter{from{transform:translateX(100%);opacity:.7}to{transform:translateX(0);opacity:1}}dialog#site-menu[open]{animation:menu-enter .28s ease-out}@media(prefers-reduced-motion:reduce){dialog#site-menu[open]{animation:none}}
/* Header over the hero film, matching the original TYYNI opening. */
body.has-hero>header{position:absolute;top:0;left:0;right:0;z-index:12;background:transparent;border-bottom:0;color:#fff}body.has-hero>header .brand-symbol{filter:brightness(0) invert(1)}body.has-hero>header .quote{background:transparent;border-color:#ffffffc9;color:#fff}body.has-hero>header .menu-toggle{color:#fff}body.has-hero>header .menu-toggle:hover{color:#e8ded6}body.has-hero>header .pill-arrow{border-color:#ffffffc9}body.has-hero .video-hero{min-height:max(760px,100svh)}body.has-hero .hero-copy{padding-top:160px;padding-bottom:110px}body.has-hero .story-hero{min-height:max(760px,100svh)}
/* Transparent dark outlines on model and FAQ controls. */
.card-heading>.pill-arrow,.card:hover .card-heading>.pill-arrow{background:transparent;color:var(--ink);border:1px solid var(--ink)}.faq-item summary::after,.faq-item[open] summary::after{background:transparent;color:var(--ink);border:1px solid var(--ink)}
/* Collection comparison uses the site's base background and readable beige text. */
.collection-comparison{background:var(--bg);color:#80664f}.collection-comparison .note{color:#80664f}.collection-comparison th,.collection-comparison td{border-bottom-color:#d6c9bd}.collection-comparison a{color:inherit}
/* Rectangular brochure tab, coordinated with the original floating quote tab. */
.brochure-tab{right:9px;border-radius:0;background:#ece5df;color:#231f20;border:1px solid #ffffffa6;box-shadow:none;padding:20px 12px 14px;gap:15px}.brochure-tab:hover{background:#e2d8cf;color:#231f20;box-shadow:none}.brochure-tab-icon{border:0;border-radius:0}.brochure-tab-label{font-weight:500}
/* More transparent milk glass; no category numbering, separators or close button. */
dialog#site-menu{background:rgba(250,247,242,.43);backdrop-filter:blur(22px) saturate(115%);-webkit-backdrop-filter:blur(22px) saturate(115%)}dialog#site-menu::backdrop{background:rgba(29,23,19,.08);backdrop-filter:none}#site-menu nav a{border:0;padding:22px 0}.menu-bottom{border-top:0}.menu-top{margin-bottom:65px}
/* The contact route shows the complete existing contact page, with its own header and footer. */
body.contact-view>header,body.contact-view>.source-footer{display:none}body.contact-view #app{height:100dvh;min-height:100dvh}.contact-full-page{display:block;width:100%;height:100dvh;border:0;background:#faf7f2}
@media(max-width:700px){body.has-hero .hero-copy{padding-top:145px;padding-bottom:105px}body.has-hero .video-hero,body.has-hero .story-hero{min-height:max(700px,100svh)}.brochure-tab{right:9px;bottom:18px;border-radius:0;padding:8px 10px 8px 16px}.menu-top{margin-bottom:50px}#site-menu nav a{padding:22px 0}}
.brochure-tab{background:#ede5df;color:#120a07}@media(min-width:701px){body.contact-view .brochure-tab{top:calc(75vh - 200px)}}

/* Quiet arrow treatments and the lifestyle chapter before the collection. */
header .quote .pill-arrow,.hero-copy .btn .pill-arrow{border:0;border-radius:0;background:transparent;width:24px;min-width:24px;height:30px}
.hero-copy .btn,.hero-copy .btn:hover{background:transparent;color:#fff;border:1px solid #fff;padding-right:20px}
.collection-comparison{border-top:1px solid var(--line);border-bottom:1px solid var(--line)}
.story-interlude>div:not(.eyebrow) p+p{margin-top:22px}.story-interlude>div:not(.eyebrow){max-width:490px}
.story-photo-pair{display:grid;grid-template-columns:1fr 1fr;gap:28px;padding:0 8%}.story-photo-pair figure{margin:0}.story-photo-pair img{width:100%;height:auto;aspect-ratio:4/5;object-fit:cover}
.quote-tab{position:fixed;z-index:30;right:9px;top:50%;transform:translateY(-50%);display:flex;align-items:center;gap:18px;writing-mode:vertical-rl;rotate:180deg;background:#ede5df;color:#120a07;border:1px solid #ffffffa6;padding:20px 13px;font-size:13px;font-weight:500;line-height:20px;letter-spacing:.025em}
.quote-tab:hover{background:#e2d8cf}.quote-tab span{font-size:20px;rotate:180deg}.quote-tab:focus-visible{outline:3px solid #37649d;outline-offset:3px}
.brochure-tab,body.contact-view .brochure-tab{top:calc(50% - 194px)}
body:has(#site-menu[open]) .quote-tab{visibility:hidden}body.contact-view .quote-tab{display:none}
@media(max-width:700px){.story-photo-pair{gap:14px;padding:0 6%}.brochure-tab,body.contact-view .brochure-tab{top:auto;bottom:18px;right:9px;padding:8px 10px;font-size:11px;min-height:46px;gap:7px}.brochure-tab-label{font-size:11px}.brochure-tab-icon{width:24px;height:26px}.quote-tab{top:auto;bottom:18px;left:9px;right:auto;transform:none;rotate:none;writing-mode:horizontal-tb;padding:10px 12px;gap:12px;min-height:46px;font-size:11px}.quote-tab span{rotate:none;font-size:18px}.source-footer{padding-bottom:90px}}
@media(min-width:701px){.quote-tab{width:58px;justify-content:center;top:50%;rotate:none;transform:translateY(9px) rotate(180deg)}.brochure-tab{top:50%;transform:translateY(calc(-100% - 9px))}body.contact-view .brochure-tab{top:calc(75vh - 200px);transform:translateY(-50%)}}
/* Breathing space between the opening film and the lifestyle chapter. */
.video-hero + .wide-story{margin-top:40px}

/* A generous pause with words from the current TYYNI story. */
.ritual-introduction{padding:110px 8%;text-align:center}.ritual-introduction p{max-width:830px;margin:0 auto;font-size:28px;line-height:1.5;font-weight:300;letter-spacing:-.02em;color:var(--ink)}.ritual-introduction p+p{font-size:16px;line-height:26px;letter-spacing:0;color:var(--muted);margin-top:24px}
/* Separators align with the table and float in the space between chapters. */
.collection-comparison{position:relative;border:0;margin-bottom:100px}.collection-comparison:before{content:'';position:absolute;left:8%;right:8%;height:1px;background:var(--line);top:0}
@media(max-width:1000px){.collection-comparison:before{left:6%;right:6%}}
@media(max-width:700px){.ritual-introduction{padding:75px 6%}.ritual-introduction p{font-size:23px;line-height:1.5}.ritual-introduction p+p{font-size:15px;line-height:25px;margin-top:22px}.collection-comparison{margin-bottom:80px}}
/* Matching tabs sit flush against the viewport edge. */
@media(min-width:701px){.brochure-tab,.quote-tab{right:0;width:58px;height:212px;justify-content:center}}
@media(max-width:700px){.brochure-tab,.quote-tab{bottom:0;width:calc(50% - 4px);height:46px;min-height:46px;justify-content:center}.brochure-tab,body.contact-view .brochure-tab{right:0}.quote-tab{left:0;right:auto}}
/* One unframed arrow treatment for every pill button and model link. */
.pill-arrow,.btn .pill-arrow,.card-heading>.pill-arrow,.card:hover .card-heading>.pill-arrow,#site-menu nav a b{border:0;border-radius:0;background:transparent;box-shadow:none;width:24px;min-width:24px;height:30px;aspect-ratio:auto;flex:0 0 24px;font-size:20px;line-height:1}

/* Circular expand controls across FAQ and model details. */
summary{align-items:center;gap:20px}summary::after,.faq-item summary::after,.faq-item[open] summary::after{display:flex;align-items:center;justify-content:center;width:40px;height:40px;min-width:40px;flex:0 0 40px;aspect-ratio:1;border:1px solid var(--ink);border-radius:50%;background:transparent;color:var(--ink);font-size:22px;font-weight:300;line-height:1}
.accessories-page{max-width:none;min-height:calc(100svh - 104px);padding-top:100px;padding-bottom:110px}.accessories-page h1{margin-bottom:28px}.accessories-page p{font-size:18px;line-height:28px}.accessories-page .btn{margin-top:22px}
@media(max-width:700px){.accessories-page{min-height:calc(100svh - 90px);padding-top:70px;padding-bottom:100px}}

/* Compact language links match the existing FI / PL navigation. */
.language-links{display:flex;align-items:center;gap:15px;font-size:12px;line-height:20px;letter-spacing:.04em}.language-links a{padding:8px 0;border-bottom:1px solid transparent}.language-links a:hover{border-bottom-color:currentColor}
/* Manual photo galleries: no frames or pills around the white arrows. */
.model-gallery{position:relative;width:100%;aspect-ratio:4/5;overflow:hidden;background:var(--sand);touch-action:pan-y;min-width:0}.model-hero>.model-gallery{grid-column:1;grid-row:1;padding-top:0}.model-hero>div:not(.model-gallery){grid-column:2;grid-row:1}.gallery-slide{position:absolute;inset:0;margin:0}.gallery-slide[hidden]{display:none}.model-gallery .gallery-slide img{display:block;width:100%;height:100%;min-height:0;aspect-ratio:auto;object-fit:cover}.model-gallery .plan-slide{background:#fff}.model-gallery .plan-slide img{object-fit:contain;padding:0}.gallery-arrow{position:absolute;top:50%;transform:translateY(-50%);width:48px;height:64px;border:0;border-radius:0;background:transparent;color:#fff;padding:10px;display:flex;align-items:center;justify-content:center;z-index:2}.gallery-arrow.previous{left:8px}.gallery-arrow.next{right:8px}.gallery-arrow svg{width:30px;height:30px;fill:none;stroke:currentColor;stroke-width:1.4;stroke-linecap:round;stroke-linejoin:round;filter:drop-shadow(0 1px 2px #000b)}.gallery-arrow:hover{background:transparent;color:#fff}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap;border:0}.floor-plan-button{font-family:inherit;cursor:pointer}.model-gallery:focus-visible{outline:2px solid #37649d;outline-offset:4px}
@media(max-width:800px){.model-hero>.model-gallery{padding-top:0;flex-shrink:0}.model-hero>div:not(.model-gallery){padding-top:20px}}
@media(max-width:700px){.language-links{gap:12px;font-size:11px}.header-actions{gap:14px}.gallery-arrow.previous{left:2px}.gallery-arrow.next{right:2px}}

.floor-plan-drawing{display:block;width:100%;height:100%;padding:0}
.language-links a:last-child{display:inline-block}

/* FAQ chapters share a centred, narrower reading column. */
body.faq-view #app>.faq-intro,body.faq-view #app>.faq-layout,body.faq-view #app>.cta{width:60%;margin-left:auto;margin-right:auto;padding-left:0;padding-right:0}
body.faq-view #app>.cta{padding:55px 45px;display:block}body.faq-view #app>.cta .btn{margin-top:20px}
@media(max-width:700px){body.faq-view #app>.faq-intro,body.faq-view #app>.faq-layout,body.faq-view #app>.cta{width:100%;padding-left:6%;padding-right:6%}body.faq-view #app>.cta{padding-top:55px;padding-bottom:70px}}

/* Original transparent drawings sit directly on the section background. */
.model-gallery .plan-slide,.model-gallery:has(.plan-slide:not([hidden])){background:transparent}

/* Persistent navigation, retaining the transparent opening over the film. */
body>header,body.has-hero>header{position:fixed;top:0;left:0;right:0;z-index:40}
body>header{background:var(--bg)}
body:not(.has-hero):not(.contact-view) #app{padding-top:104px}
body.has-hero.header-scrolled>header{background:rgba(35,31,32,.88);backdrop-filter:blur(16px);-webkit-backdrop-filter:blur(16px)}
#models,.faq-group{scroll-margin-top:125px}
/* Questions and answers share the left column; the FAQ link stays on the right. */
.faq-preview{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:70px;align-items:start}
.faq-preview-main,.faq-preview-aside{min-width:0}
.faq-preview-main>h2{margin-bottom:40px}
.faq-preview .faq-list{max-width:none}
.faq-preview-aside{max-width:400px;padding-top:36px}
.faq-preview-aside p{font-size:16px;line-height:26px}
/* Full-width closing invitation on the FAQ page. */
body.faq-view #app>.cta{width:100%;padding:85px 8%;margin-left:0;margin-right:0}
/* Equal width and height keep social links circular. */
.social-links a{width:38px;height:38px;min-width:38px;flex:0 0 38px;aspect-ratio:1;border-radius:50%;padding:0}
@media(max-width:700px){body:not(.has-hero):not(.contact-view) #app{padding-top:90px}.faq-preview{grid-template-columns:minmax(0,1fr);gap:32px}.faq-preview-aside{padding-top:0;max-width:none}.faq-preview-main>h2{margin-bottom:30px}body.faq-view #app>.cta{padding:65px 6%}#models,.faq-group{scroll-margin-top:110px}}

/* Centre the FAQ invitation within the right-hand column. */
.faq-preview-aside{align-self:center;justify-self:center;padding-top:0;width:100%;max-width:400px}
/* The pinned header remains unfilled when scrolling. */
body.header-scrolled>header,body.has-hero.header-scrolled>header{background:transparent;backdrop-filter:none;-webkit-backdrop-filter:none;border-bottom-color:transparent;box-shadow:none}
@media(max-width:700px){.faq-preview-aside{max-width:none}}

/* Accessories contains three subordinate destinations. */
#site-menu .accessories-submenu{display:flex;flex-direction:column;padding:0 0 16px 28px;gap:0}
#site-menu .accessories-submenu a{font-size:21px;line-height:30px;padding:6px 0;font-weight:300;letter-spacing:0}
.accessories-categories{display:flex;flex-wrap:wrap;gap:14px;margin-top:24px}
.accessories-page .accessories-categories .btn{margin-top:0}
@media(max-width:700px){#site-menu .accessories-submenu{padding-left:22px}#site-menu .accessories-submenu a{font-size:19px;line-height:28px}}

/* Contact uses the shared Site chrome while retaining the working WordPress form. */
body.contact-view>header{display:flex}
body.contact-view>.source-footer{display:block}
body.contact-view #app{height:auto;min-height:0;padding-top:104px}
body.contact-view .quote-tab{display:flex}
body.contact-view .brochure-tab{top:50%;transform:translateY(calc(-100% - 9px))}
.contact-intro{padding:90px 8% 70px;display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:70px;max-width:none}
.contact-intro>.eyebrow{grid-column:1/-1}
.contact-intro h1{margin:0}
.contact-copy{max-width:500px;padding-top:10px}
.contact-copy>p{font-size:18px;line-height:29px;margin:0}
.contact-person{margin-top:38px;align-items:flex-start}
.contact-person strong{font-weight:500;margin-bottom:5px}
.contact-form-section{padding:0 8% 100px;background:var(--bg)}
.contact-form-window{position:relative;height:560px;overflow:hidden;background:#f7f3ef}
.contact-form-frame{display:block;width:100%;height:2000px;border:0;transform:translateY(-650px);background:#f7f3ef}
@media(max-width:700px){body.contact-view #app{padding-top:90px}.contact-intro{display:block;padding:60px 6% 50px}.contact-intro h1{margin:18px 0 28px}.contact-copy{padding-top:0}.contact-copy>p{font-size:16px;line-height:26px}.contact-person{margin-top:28px}.contact-form-section{padding:0 6% 70px}.contact-form-window{height:500px}.contact-form-frame{width:100%;height:1900px;transform:translateY(-650px)}body.contact-view .brochure-tab{top:auto;transform:none}}

/* Refined contact: only the form panel is cropped from WordPress and centred. */
.contact-copy{display:flex;align-items:flex-start;padding-top:10px}
.contact-person{margin-top:0}
.contact-person a,.contact-person a:hover{text-decoration:none;border-bottom:0}
.contact-form-section{width:100%;padding:80px 0 100px;background:var(--sand)}
.contact-form-window{position:relative;width:809px;max-width:calc(100vw - 12%);height:480px;margin:0 auto;overflow:hidden;background:transparent}
.contact-form-frame{position:absolute;top:-680px;left:-323.5px;width:1363px;height:2000px;transform:none;background:transparent}
@media(max-width:900px){.contact-form-section{padding:60px 0 80px}.contact-form-window{width:270px;max-width:88vw;height:460px}.contact-form-frame{top:-660px;left:-71px;width:390px;height:1900px}}
@media(max-width:700px){.contact-copy{padding-top:0}.contact-person{margin-top:0}}

/* Native TYYNI contact form. */
.contact-spacer{height:120px;background:var(--bg)}
.contact-form-section{width:100%;padding:90px 8% 110px;background:var(--sand)}
.contact-form-card{width:min(960px,100%);margin:0 auto;padding:65px 70px 70px;background:var(--bg)}
.contact-form-heading{display:grid;grid-template-columns:1fr 1fr;gap:50px;align-items:start;margin-bottom:55px}
.contact-form-heading .eyebrow{padding-top:10px}
.contact-form-heading h1{font-size:54px;line-height:1.06;font-weight:400;letter-spacing:-.04em;margin:0}
.contact-form-fields{display:grid;grid-template-columns:1fr 1fr;gap:26px 22px}
.contact-form label{display:flex;flex-direction:column;gap:9px}
.contact-form label>span{font-size:11px;line-height:18px;letter-spacing:.12em;text-transform:uppercase;font-weight:500}
.contact-form input[type=text],.contact-form input[type=tel],.contact-form input[type=email],.contact-form textarea{width:100%;border:1px solid var(--line);border-radius:0;background:transparent;color:var(--ink);font:400 16px/24px Inter,sans-serif;padding:14px 16px;outline:none}
.contact-form textarea{resize:vertical;min-height:150px}
.contact-form input:focus,.contact-form textarea:focus{border-color:#37649d;box-shadow:0 0 0 1px #37649d}
.contact-field-wide{grid-column:1/-1}
.contact-form .contact-consent{display:flex;flex-direction:row;align-items:center;gap:12px;margin-top:24px}
.contact-form .contact-consent input{width:18px;height:18px;accent-color:var(--brown);flex:0 0 auto}
.contact-form .contact-consent span{font-size:13px;line-height:20px;letter-spacing:0;text-transform:none;font-weight:400}
.contact-form-actions{display:flex;align-items:center;gap:24px;margin-top:34px}
.contact-form-actions .btn{font-family:inherit;cursor:pointer}
.contact-form-status{font-size:13px;line-height:20px;color:var(--muted);margin:0;max-width:360px}
@media(max-width:700px){.contact-spacer{height:120px}.contact-form-section{padding:55px 6% 75px}.contact-form-card{padding:42px 24px 48px}.contact-form-heading{display:block;margin-bottom:38px}.contact-form-heading .eyebrow{padding-top:0;margin-bottom:18px}.contact-form-heading h1{font-size:42px}.contact-form-fields{grid-template-columns:1fr;gap:22px}.contact-field-wide{grid-column:auto}.contact-form-actions{display:block}.contact-form-status{margin-top:16px}}

/* Unified contact surface and editorial underline fields. */
.contact-form-section{background:var(--bg)}
.contact-form-card{background:transparent}
.contact-form-heading{grid-template-columns:1fr 1fr}
.contact-form-contact{grid-column:1;margin:0;align-items:flex-start;font-size:18px;line-height:28px}
.contact-form-contact strong{font-weight:500;margin-bottom:4px}
.contact-form-fields{grid-template-columns:1fr;gap:28px}
.contact-field-wide{grid-column:auto}
.contact-form input[type=text],.contact-form input[type=tel],.contact-form input[type=email],.contact-form textarea{border:0;border-bottom:1px solid var(--line);padding:12px 0 13px;background:transparent;box-shadow:none}
.contact-form textarea{min-height:125px}
.contact-form input::placeholder,.contact-form textarea::placeholder{color:#a79d96;opacity:1}
.contact-form input:focus,.contact-form textarea:focus{border-color:#37649d;box-shadow:none}
@media(max-width:700px){.contact-form-heading{display:block}.contact-form-contact{margin:0}.contact-form-card{padding-left:0;padding-right:0}}
/* Contact alignment and stronger action styling. */
.contact-form-contact{align-items:flex-start;text-align:left;font-weight:400}
.contact-form-contact strong{font-weight:600}
.contact-form-contact a{font-weight:400}
.contact-form-actions .btn,.contact-form-actions .btn:hover{background:var(--ink);border-color:var(--ink);color:#fff}
@media(max-width:700px){.contact-form-contact{align-items:flex-start;text-align:left}}

/* Press logos: original 100px tiles enlarged by 50%. */
.featured-in{padding:100px 3% 110px;text-align:center}
.featured-in #featured-heading{font-size:16px;line-height:24px;font-weight:400;letter-spacing:0;margin:0 0 35px}
.featured-logos{display:flex;align-items:center;justify-content:safe center;flex-wrap:nowrap;gap:18px;max-width:100%;margin:0 auto;padding:6px 0 14px;overflow-x:auto;scrollbar-width:thin}
.featured-logos a{display:flex;align-items:center;justify-content:center;flex:0 0 150px;width:150px;height:150px;color:inherit;transition:opacity .2s}
.featured-logos img{display:block;width:150px;height:150px;max-width:100%;object-fit:contain}
.featured-logos a:hover{opacity:.6}.featured-logos a:focus-visible{outline:2px solid currentColor;outline-offset:4px}
@media(max-width:600px){.featured-in{padding-top:65px;padding-bottom:70px}.featured-logos{gap:12px}.featured-logos a{flex-basis:96px;width:96px;height:96px}.featured-logos img{width:96px;height:96px}.featured-in #featured-heading{margin-bottom:24px}}

/* Keep model specifications in one balanced row. */
.model-hero .specs{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:0}
.model-hero .specs>div{min-width:0;text-align:center;padding:0 8px}
.model-hero .specs strong{display:block;white-space:nowrap;font-size:clamp(15px,1.3vw,21px);line-height:1.3}
.model-hero .specs span{display:block;white-space:nowrap;font-size:11px;line-height:1.5}
@media(max-width:700px){.model-hero .specs>div{padding:0 3px}.model-hero .specs span{font-size:10px}}

/* Dimensions align with the left edge of the model copy. */
.model-hero .specs>div:first-child{text-align:left;padding-left:0}

/* Weight aligns with the right edge across all model pages. */
.model-hero .specs>div:last-child{text-align:right;padding-right:0}

/* Collection cards: editorial copy, inset landscape photo and capacity. */
#models>.grid{gap:0;align-items:stretch}
#models .collection-card{display:flex;flex-direction:column;align-items:stretch;padding:40px 11% 48px;border:0;border-radius:0;background:transparent;box-shadow:none}
#models .collection-card h3{font-size:30px;line-height:1.2;font-weight:400;margin:0}
#models .collection-card .collection-card-description{font-size:16px;line-height:24px;max-width:none;min-height:96px;margin:18px 0 28px;color:var(--ink)}
#models .collection-card .photo{aspect-ratio:4/5;overflow:hidden;margin:0;width:100%;border:0;border-radius:0}
#models .collection-card .photo img{display:block;width:100%;height:100%;object-fit:cover}
#models .collection-card-capacity{font-size:14px;line-height:22px;margin-top:22px;color:var(--ink)}
@media(max-width:700px){#models .collection-card{padding:28px 7% 38px}#models .collection-card h3{font-size:26px}#models .collection-card .collection-card-description{min-height:0;margin:16px 0 24px}#models .collection-card-capacity{margin-top:18px}}

/* Match the collection introduction to the inset card columns. */
#models>.section-head{grid-template-columns:repeat(2,minmax(0,1fr));gap:0}
#models>.section-head>div,#models>.section-head>p{padding-left:11%;padding-right:11%;min-width:0;max-width:none}
/* Halve the blank space below a two-line description: 76px to 38px. */
#models .collection-card .collection-card-description{min-height:72px;margin-bottom:14px}
@media(max-width:700px){#models>.section-head>div,#models>.section-head>p{padding-left:7%;padding-right:7%}#models .collection-card .collection-card-description{min-height:0;margin-bottom:12px}}
@media(max-width:520px){#models>.section-head{grid-template-columns:1fr;gap:24px}}
/* FAQ answer columns: half-width on desktop, full-width on mobile. */
body.faq-view .faq-answer{width:50%;max-width:none;margin-left:0;margin-right:auto;padding-right:0}
body.faq-view .faq-answer p{text-align:justify;text-align-last:left}
@media(max-width:700px){body.faq-view .faq-answer{width:100%}}

#models .collection-card-capacity{font-weight:400}#models .collection-card-capacity strong{font-weight:700}

/* Shared milk-glass treatment for controls layered over photography and film. */
:is(.hero-copy .btn,.wide-story-copy .btn,.model-gallery .gallery-arrow,.glass-on-media){
 background:rgba(248,245,239,.22);color:#fff;border:1px solid rgba(255,255,255,.6);
 backdrop-filter:blur(18px) saturate(115%);-webkit-backdrop-filter:blur(18px) saturate(115%);
 box-shadow:inset 0 1px 0 rgba(255,255,255,.2),0 3px 14px rgba(20,15,12,.08);
 text-shadow:0 1px 3px rgba(0,0,0,.18);transition:background-color .2s,border-color .2s,box-shadow .2s;
}
:is(.hero-copy .btn,.wide-story-copy .btn,.model-gallery .gallery-arrow,.glass-on-media):hover{background:rgba(248,245,239,.34);color:#fff;border-color:rgba(255,255,255,.9);box-shadow:inset 0 1px 0 rgba(255,255,255,.3),0 4px 18px rgba(20,15,12,.12)}
:is(.hero-copy .btn,.wide-story-copy .btn,.model-gallery .gallery-arrow,.glass-on-media):focus-visible{outline:2px solid #fff;outline-offset:4px}
.model-gallery .gallery-arrow{border-radius:999px}

body.has-hero.header-scrolled>header .quote:not(.glass-on-media){color:var(--ink);border-color:var(--line)}
@supports not ((backdrop-filter:blur(1px)) or (-webkit-backdrop-filter:blur(1px))){:is(.hero-copy .btn,.wide-story-copy .btn,.model-gallery .gallery-arrow,.glass-on-media){background:rgba(47,39,32,.78)}}
@media(prefers-reduced-motion:reduce){:is(.hero-copy .btn,.wide-story-copy .btn,.model-gallery .gallery-arrow,.glass-on-media){transition:none}}

/* Model actions share the hero row; photo carousel controls are circular. */
.model-hero-actions{display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:16px;margin-top:28px;width:100%}
.model-hero-actions .btn{margin-top:0;white-space:nowrap}
.model-hero-actions>.btn:first-child{margin-right:auto}
.model-hero-actions>.floor-plan-button{margin-left:auto}
.model-gallery .gallery-arrow{width:48px;height:48px;min-width:48px;min-height:48px;aspect-ratio:1;border-radius:50%;padding:10px}
.model-gallery .gallery-arrow svg{width:26px;height:26px}
@media(max-width:650px){.model-hero-actions{gap:14px}.model-hero-actions .btn{white-space:normal}.model-hero-actions>.floor-plan-button{margin-left:0}}

/* Books — first edition, spring 2027. */
.book-intro{width:min(980px,84%);margin:0 auto;padding:174px 0 62px;text-align:center}
.book-intro .eyebrow{margin-bottom:28px;color:var(--muted)}
.book-intro h1{font-size:clamp(42px,5.6vw,78px);line-height:1.06;letter-spacing:-.045em;margin-bottom:26px}
.book-authors{font-size:19px;line-height:1.5;margin-bottom:34px}
.book-intro-copy{max-width:680px;margin:0 auto;color:var(--muted);font-size:17px;line-height:1.7}
.book-intro-copy p{margin-bottom:20px}.book-intro-copy .book-first-edition{color:var(--ink);margin-bottom:0}
.book-artwork{width:min(600px,76%);margin:0 auto}
.book-artwork img{display:block;width:100%;height:auto;max-width:100%;object-fit:contain}
.book-signup{width:min(820px,84%);margin:88px auto 110px;padding:62px 0 0;border-top:1px solid var(--line)}
.book-signup h2{font-size:clamp(36px,4.1vw,56px);line-height:1.08;margin-bottom:22px}
.book-signup-copy{max-width:580px;font-size:17px;line-height:1.65;color:var(--muted);margin-bottom:38px}
.book-email-label{display:block;font-size:13px;margin-bottom:8px}
.book-signup-row{display:flex;gap:22px;align-items:flex-end}
.book-signup-row input{flex:1;min-width:0;background:transparent;border:0;border-radius:0;border-bottom:1px solid var(--line);padding:14px 0;font:inherit;font-size:17px;color:var(--ink)}
.book-signup-row input::placeholder{color:var(--muted);opacity:.7}
.book-signup-row input:focus{outline:0;border-bottom-color:var(--ink);box-shadow:0 1px 0 var(--ink)}
.book-signup-row .btn{margin:0;flex:none;white-space:nowrap;min-height:50px}
.book-consents{border:0;padding:0;margin:25px 0 0;min-width:0}
.book-consents label{display:flex;align-items:flex-start;gap:12px;margin:14px 0;font-size:13px;line-height:1.65;color:var(--ink)}
.book-consents input{appearance:auto;flex:none;width:17px;height:17px;margin:3px 0 0;accent-color:var(--ink)}
.book-required,.book-optional{color:var(--muted);font-size:11px;margin-left:5px}
.book-privacy,.book-email-help,.book-form-status,.book-prepared-email{font-size:12px;line-height:1.6;color:var(--muted)}
.book-privacy{margin:22px 0 12px}.book-privacy a,.book-prepared-email{text-decoration:underline;text-underline-offset:3px}
.book-email-help{max-width:640px;margin-bottom:0}.book-form-status{margin:16px 0 10px;color:var(--ink)}.book-form-status:empty{display:none}
.book-prepared-email[hidden]{display:none}
@media(max-width:700px){.book-intro{width:88%;padding-top:140px;padding-bottom:42px}.book-intro .eyebrow{font-size:10px;letter-spacing:.12em}.book-authors{font-size:16px;margin-bottom:26px}.book-intro-copy{font-size:16px}.book-artwork{width:88%}.book-signup{width:88%;margin:58px auto 75px;padding-top:42px}.book-signup-row{flex-direction:column;align-items:stretch;gap:22px}.book-signup-row input{width:100%}.book-signup-row .btn{align-self:flex-start}.book-signup-copy{font-size:16px;margin-bottom:28px}}

/* Local FAQ language review, preserving existing containers. */
.faq-language-selector{display:flex;gap:18px;margin-bottom:28px;font-size:13px;letter-spacing:.05em}.faq-language-selector a{opacity:.55;text-decoration:none}.faq-language-selector a[aria-current="page"]{opacity:1;text-decoration:underline;text-underline-offset:5px}

/* Books: align the two copy blocks with the central newsletter column. */
.book-page .book-intro{width:100%;max-width:none}
.book-page .book-intro>.eyebrow,.book-page .book-intro h1,.book-page .book-authors{max-width:980px;margin-inline:auto}
.book-page .book-intro-copy,.book-page .book-signup{width:calc(44% - 41.904762px);max-width:none;margin-inline:auto}
.book-page .book-intro-copy{text-align:left}
@media(max-width:1000px){.book-page .book-intro-copy,.book-page .book-signup{width:84%}}
@media(max-width:700px){.book-page .book-intro-copy,.book-page .book-signup{width:88%}}
