:root {
  --ink:#171614;
  --ink-soft:#2a2722;
  --coal:#12110f;
  --coal-soft:#1d1b18;
  --gold:#c99b4b;
  --gold-deep:#9a6828;
  --gold-light:#e6c885;
  --copper:#a7602f;
  --cream:#f3ede3;
  --sand:#e6dac8;
  --ivory:#fbf9f5;
  --line:#ded2bf;
  --muted:#756f66;
  --white:#fff;
  --shadow:0 28px 70px rgba(43,32,18,.12);
}

* { box-sizing:border-box; }
html { scroll-behavior:smooth; scroll-padding-top:94px; }
body { margin:0; color:var(--ink); background:var(--ivory); font-family:"Segoe UI",Arial,sans-serif; -webkit-font-smoothing:antialiased; }
body,button,input,select,textarea { font:inherit; }
img,svg { display:block; max-width:100%; }
a { color:inherit; text-decoration:none; }
button,summary,a { -webkit-tap-highlight-color:transparent; }
button,input,select,textarea { border-radius:0; }
::selection { color:#17130d; background:#e6c885; }
:focus-visible { outline:2px solid var(--gold); outline-offset:4px; }
[hidden] { display:none!important; }

.skip-link { position:fixed; z-index:9999; top:12px; left:12px; padding:10px 15px; color:#171614; background:#fff; transform:translateY(-150%); }
.skip-link:focus { transform:none; }

.announcement { min-height:36px; display:flex; align-items:center; justify-content:center; gap:36px; padding:8px 24px; color:#e8dfd2; background:#0d0c0b; font-size:10px; font-weight:700; letter-spacing:.1em; text-transform:uppercase; }
.announcement span { color:#ddb66b; }
.announcement a { display:inline-flex; align-items:center; gap:8px; color:#a8a198; transition:color .2s ease; }
.announcement a:hover { color:#fff; }

.site-header { position:sticky; z-index:1000; top:0; border-bottom:1px solid rgba(37,31,24,.09); background:rgba(251,249,245,.9); backdrop-filter:blur(18px); transition:box-shadow .25s ease,background .25s ease; }
.site-header.is-scrolled { background:rgba(251,249,245,.97); box-shadow:0 12px 35px rgba(41,31,20,.08); }
.admin-bar .site-header { top:32px; }
.header-inner { width:min(1240px,calc(100% - 48px)); min-height:84px; margin:auto; display:flex; align-items:center; gap:36px; }
.brand-lockup { width:max-content; display:inline-grid; line-height:1; }
.brand-name { position:relative; display:inline-flex; align-items:flex-start; font-family:Georgia,"Times New Roman",serif; font-size:27px; letter-spacing:-.055em; }
.brand-name b,.brand-name i { font-style:normal; font-weight:600; }
.brand-name b { color:#151412; }
.brand-name i { color:#b87d29; background:linear-gradient(135deg,#8e581c 10%,#e0b65e 48%,#9b621f 82%); -webkit-background-clip:text; background-clip:text; -webkit-text-fill-color:transparent; }
.brand-lockup>small { margin-top:6px; color:#5e5952; font-size:8px; font-weight:750; letter-spacing:.22em; text-transform:uppercase; }
.desktop-nav { margin-left:auto; display:flex; align-items:center; gap:29px; }
.desktop-nav a { position:relative; padding:32px 0; color:#3d3933; font-size:11px; font-weight:700; letter-spacing:.035em; }
.desktop-nav a::after { position:absolute; right:0; bottom:25px; left:0; height:1px; content:""; background:var(--gold); transform:scaleX(0); transform-origin:right; transition:transform .25s ease; }
.desktop-nav a:hover::after { transform:scaleX(1); transform-origin:left; }
.header-cta { display:inline-flex; align-items:center; gap:10px; padding:13px 18px; border:1px solid #26231f; color:#fff; background:#1a1815; font-size:10px; font-weight:800; letter-spacing:.07em; text-transform:uppercase; transition:transform .2s ease,background .2s ease; }
.header-cta:hover { background:#322c24; transform:translateY(-2px); }
.mobile-menu { display:none; margin-left:auto; }
.mobile-menu summary { width:44px; height:44px; display:grid; place-content:center; gap:5px; border:1px solid #d1c5b4; cursor:pointer; list-style:none; }
.mobile-menu summary::-webkit-details-marker { display:none; }
.mobile-menu summary span { width:18px; height:1px; background:#1b1916; }
.mobile-menu nav { position:absolute; top:calc(100% + 1px); right:0; left:0; padding:16px 24px 25px; border-bottom:1px solid #d8ccbb; background:#fbf9f5; box-shadow:0 18px 35px rgba(30,23,15,.12); }
.mobile-menu nav a { display:block; padding:13px 4px; border-bottom:1px solid #e8dfd2; font-family:Georgia,serif; font-size:18px; }

.configurator-float { position:fixed; z-index:1200; right:20px; bottom:20px; min-height:58px; display:flex; align-items:center; gap:11px; padding:7px 14px 7px 7px; border:1px solid #c99b4b; color:#fff; background:#171512; box-shadow:0 16px 40px rgba(20,16,10,.28); transition:transform .2s ease,box-shadow .2s ease,background .2s ease; }
.configurator-float:hover { background:#29231b; box-shadow:0 20px 48px rgba(20,16,10,.36); transform:translateY(-2px); }
.configurator-float-icon { width:42px; height:42px; display:grid; flex:none; place-items:center; border:1px solid rgba(230,200,133,.58); border-radius:50%; color:#e6c885; font-family:Georgia,serif; font-size:20px; }
.configurator-float-copy { display:grid; gap:3px; }
.configurator-float-copy small { color:#c5a86f; font-size:7px; font-weight:850; letter-spacing:.14em; text-transform:uppercase; }
.configurator-float-copy strong { font-family:Georgia,serif; font-size:15px; font-weight:500; white-space:nowrap; }
.configurator-float-arrow { color:#e6c885; font-size:17px; }

.hero { position:relative; overflow:hidden; color:var(--ink); background:#fff; }
.hero::before { position:absolute; top:0; right:0; bottom:0; width:43%; content:""; background:linear-gradient(110deg,transparent,rgba(201,155,75,.045)); }
.hero-orbit { position:absolute; border:1px solid rgba(154,104,40,.1); border-radius:50%; pointer-events:none; }
.hero-orbit-one { width:540px; height:540px; right:-260px; bottom:-260px; }
.hero-orbit-two { width:760px; height:760px; right:-370px; bottom:-370px; }
.hero-inner { position:relative; z-index:2; width:min(1240px,calc(100% - 48px)); min-height:720px; margin:auto; display:grid; grid-template-columns:.93fr 1.07fr; align-items:center; gap:72px; padding:84px 0 76px; }
.eyebrow { margin:0; display:flex; align-items:center; gap:12px; color:#956821; font-size:10px; font-weight:850; letter-spacing:.16em; text-transform:uppercase; }
.eyebrow>span { width:33px; height:1px; background:currentColor; }
.eyebrow.light { color:#d8ad60; }
h1,h2 { margin:0; font-family:Georgia,"Times New Roman",serif; font-weight:500; letter-spacing:-.05em; }
h1 { margin-top:22px; font-size:clamp(58px,6.6vw,96px); line-height:.92; }
h2 { font-size:clamp(42px,5vw,68px); line-height:1.02; }
h1 em,h2 em { color:var(--gold-light); font-style:italic; font-weight:400; }
.hero h1 em { color:var(--gold-deep); }
.hero-lead { max-width:620px; margin:28px 0 0; color:var(--muted); font-family:Georgia,"Times New Roman",serif; font-size:18px; line-height:1.75; }
.hero-actions { margin-top:35px; display:flex; align-items:center; flex-wrap:wrap; gap:24px; }
.button { min-height:49px; display:inline-flex; align-items:center; justify-content:center; gap:16px; padding:14px 21px; border:0; cursor:pointer; font-size:10px; font-weight:850; letter-spacing:.09em; text-transform:uppercase; transition:transform .2s ease,box-shadow .2s ease,background .2s ease; }
.button:hover { transform:translateY(-3px); }
.button-gold { color:#1d1710; background:linear-gradient(135deg,#e7ce91,#c8933d 70%,#ac7026); box-shadow:0 12px 30px rgba(173,114,35,.2); }
.button-gold:hover { box-shadow:0 18px 38px rgba(173,114,35,.3); }
.button-dark { color:#fff; background:#1b1916; }
.button-dark:hover { background:#332d25; }
.text-link { display:inline-flex; align-items:center; gap:10px; border-bottom:1px solid #b99a65; padding-bottom:5px; color:#302c26; font-size:11px; font-weight:750; }
.text-link-light { color:#cfc7bc; border-color:#6d5b3d; }
.hero-trust { margin-top:45px; display:grid; grid-template-columns:repeat(3,1fr); border-top:1px solid var(--line); }
.hero-trust span { min-height:62px; display:flex; align-items:center; gap:10px; padding:15px 12px 0 0; color:#6f685f; font-size:9px; line-height:1.45; }
.hero-trust b { display:grid; width:29px; height:29px; flex:none; place-items:center; border:1px solid rgba(154,104,40,.35); border-radius:50%; color:var(--gold-deep); font-family:Georgia,serif; font-size:10px; font-weight:500; }
.hero-visual { position:relative; margin:0; }
.hero-image-frame { position:relative; z-index:1; overflow:hidden; border:1px solid #e2d6c4; background:#fff; box-shadow:0 32px 75px rgba(43,32,18,.14); transform:rotate(-1.2deg); }
.hero-image-frame::after { position:absolute; inset:12px; border:1px solid rgba(145,95,27,.2); content:""; pointer-events:none; }
.hero-image-frame img { width:100%; height:auto; }
.hero-note { position:relative; z-index:2; width:min(1240px,calc(100% - 48px)); margin:0 auto; padding:0 0 24px; color:#777067; font-size:8px; line-height:1.6; }

.facts-bar { display:grid; grid-template-columns:repeat(4,1fr); color:#28231d; background:#d8b56e; }
.facts-bar>div { min-height:116px; display:flex; flex-direction:column; justify-content:center; padding:22px 34px; border-right:1px solid rgba(48,37,20,.16); background:linear-gradient(135deg,rgba(255,255,255,.25),transparent); }
.facts-bar>div:last-child { border:0; }
.facts-bar strong { font-family:Georgia,serif; font-size:25px; font-weight:500; }
.facts-bar span { margin-top:6px; color:#5d4930; font-size:9px; font-weight:750; letter-spacing:.07em; text-transform:uppercase; }

.section { width:min(1180px,calc(100% - 48px)); margin:auto; padding:120px 0; }
.section-heading { max-width:750px; }
.section-heading h2,.faq-heading h2 { margin-top:20px; }
.section-heading>p:last-child,.faq-heading>p:last-child { max-width:670px; margin:24px 0 0; color:var(--muted); font-size:15px; line-height:1.85; }
.split-heading { max-width:none; display:grid; grid-template-columns:1.05fr .95fr; align-items:end; gap:100px; }
.split-heading>div:last-child>p { margin:0 0 23px; color:var(--muted); font-size:15px; line-height:1.85; }
.principle-grid { margin-top:70px; display:grid; grid-template-columns:repeat(4,1fr); }
.principle-grid article { position:relative; min-height:360px; padding:34px 30px; border:1px solid var(--line); border-right:0; background:#fff; }
.principle-grid article:last-child { border-right:1px solid var(--line); }
.principle-grid article.featured { color:#fff; border-color:#26221c; background:radial-gradient(circle at 85% 10%,rgba(201,155,75,.22),transparent 12rem),#191714; transform:translateY(-17px); box-shadow:0 23px 50px rgba(38,29,17,.18); }
.principle-grid article>span { position:absolute; top:29px; right:28px; color:#bca987; font-family:Georgia,serif; font-size:24px; }
.principle-grid svg { width:49px; margin-top:21px; fill:none; stroke:#a87527; stroke-width:1.45; stroke-linecap:round; stroke-linejoin:round; }
.principle-grid .featured svg { stroke:#dfbc72; }
.principle-grid h3 { margin:45px 0 15px; font-family:Georgia,serif; font-size:27px; font-weight:500; }
.principle-grid p { margin:0; color:#746f67; font-size:13px; line-height:1.8; }
.principle-grid .featured p { color:#b6afa5; }
.section-disclaimer { margin:25px 0 0; color:#948d83; font-size:9px; line-height:1.65; }

.build-section { display:grid; grid-template-columns:1.04fr .96fr; color:#fff; background:#171512; }
.build-visual { position:relative; align-self:start; min-height:0; overflow:visible; background:#fff; }
.build-visual::after { display:none; }
.build-visual img { display:block; width:100%; height:auto; object-fit:contain; object-position:center; }
.build-badge { position:relative; z-index:2; right:auto; bottom:auto; left:auto; margin:0 32px 32px; padding:22px 25px; border:1px solid rgba(231,199,135,.4); border-left:3px solid #d4a650; background:rgba(18,16,13,.88); backdrop-filter:blur(10px); }
.build-badge small,.build-badge strong { display:block; }
.build-badge small { color:#d0a354; font-size:8px; font-weight:850; letter-spacing:.16em; text-transform:uppercase; }
.build-badge strong { margin-top:8px; font-family:Georgia,serif; font-size:25px; font-weight:500; }
.build-copy { align-self:center; padding:92px clamp(42px,7vw,105px); }
.build-copy h2 { margin-top:21px; }
.build-copy>p:not(.eyebrow):not(.build-caution) { margin:25px 0 0; color:#b8b1a6; font-size:14px; line-height:1.85; }
.layer-list { margin:42px 0 0; padding:0; list-style:none; }
.layer-list li { display:grid; grid-template-columns:44px 1fr; gap:17px; padding:19px 0; border-top:1px solid rgba(255,255,255,.1); }
.layer-list li:last-child { border-bottom:1px solid rgba(255,255,255,.1); }
.layer-list>li>span { display:grid; width:36px; height:36px; place-items:center; border:1px solid #8c6a35; border-radius:50%; color:#d7b66f; font-family:Georgia,serif; font-size:11px; }
.layer-list h3 { margin:1px 0 6px; font-family:Georgia,serif; font-size:20px; font-weight:500; }
.layer-list p { margin:0; color:#928c83; font-size:11px; line-height:1.65; }
.build-caution { margin:26px 0 0; padding:16px 18px; border-left:2px solid #c99b4b; color:#9f988e; background:rgba(255,255,255,.035); font-size:9px; line-height:1.7; }

.concepts-section { padding-top:132px; }
.concept-grid { margin-top:65px; display:grid; grid-template-columns:repeat(3,1fr); gap:18px; }
.concept-grid article { min-height:570px; display:flex; flex-direction:column; padding:34px; border:1px solid var(--line); background:#fff; box-shadow:0 18px 45px rgba(53,41,24,.05); }
.concept-grid article.concept-featured { border-color:#b9893d; background:linear-gradient(145deg,#1b1916,#28231c); color:#fff; transform:translateY(-18px); box-shadow:0 25px 55px rgba(34,26,16,.2); }
.concept-top { display:flex; align-items:center; justify-content:space-between; }
.concept-top span { color:#c5aa7c; font-family:Georgia,serif; font-size:28px; }
.concept-top small { padding:6px 9px; border:1px solid #d7c7ad; color:#8a6529; font-size:8px; font-weight:850; letter-spacing:.13em; text-transform:uppercase; }
.concept-featured .concept-top small { border-color:#6b5635; color:#e1bd73; }
.concept-house { width:100%; height:175px; margin:24px 0 15px; fill:none; stroke:#4c463e; stroke-width:1.4; stroke-linecap:round; stroke-linejoin:round; }
.concept-house .accent { stroke:#b57a29; stroke-width:2; }
.concept-featured .concept-house { stroke:#b9b1a6; }
.concept-featured .concept-house .accent { stroke:#e0b665; }
.concept-grid h3 { margin:15px 0 15px; font-family:Georgia,serif; font-size:29px; line-height:1.12; font-weight:500; }
.concept-grid article>p { margin:0; color:#716b62; font-size:13px; line-height:1.75; }
.concept-featured>p { color:#b1aaa0!important; }
.concept-grid ul { margin:auto 0 0; padding:25px 0 0; list-style:none; }
.concept-grid li { padding:9px 0; border-top:1px solid #e6ddd0; color:#676159; font-size:10px; font-weight:700; }
.concept-grid li::before { margin-right:8px; color:#ad7526; content:"✓"; }
.concept-featured li { color:#bbb3a8; border-color:rgba(255,255,255,.1); }
.concept-featured li::before { color:#e0b665; }
.concept-note { margin-top:20px; display:grid; grid-template-columns:1fr 1.1fr auto; align-items:center; gap:35px; padding:30px 34px; border:1px solid #d7c4a6; background:#efe4d3; }
.concept-note strong { font-family:Georgia,serif; font-size:22px; font-weight:500; }
.concept-note p { margin:0; color:#6b6258; font-size:12px; line-height:1.7; }

.process-section { padding:120px max(24px,calc((100vw - 1180px)/2)); color:var(--ink); background:#fff; }
.process-intro { max-width:660px; }
.process-intro h2 { margin-top:20px; }
.process-intro h2 em { color:var(--gold-deep); }
.process-intro>p:last-child { margin:24px 0 0; color:var(--muted); line-height:1.8; }
.process-list { margin:70px 0 0; padding:0; display:grid; grid-template-columns:repeat(5,1fr); list-style:none; counter-reset:steps; }
.process-list li { position:relative; min-height:285px; padding:29px 25px; border-top:1px solid #d7b77d; border-bottom:1px solid var(--line); border-left:1px solid var(--line); background:#fff; }
.process-list li:last-child { border-right:1px solid var(--line); }
.process-list li::before { position:absolute; top:-5px; left:0; width:10px; height:10px; border-radius:50%; content:""; background:#d6a755; box-shadow:0 0 0 6px rgba(214,167,85,.12); }
.process-list>li>span { color:#b0905d; font-family:Georgia,serif; font-size:28px; }
.process-list small { display:block; margin-top:47px; color:#c99c4d; font-size:8px; font-weight:850; letter-spacing:.14em; text-transform:uppercase; }
.process-list h3 { margin:8px 0 12px; font-family:Georgia,serif; font-size:21px; font-weight:500; }
.process-list p { margin:0; color:var(--muted); font-size:11px; line-height:1.7; }

.video-section { display:grid; grid-template-columns:.78fr 1.22fr; gap:75px; align-items:center; }
.video-copy h2 { margin-top:20px; }
.video-copy>p:not(.eyebrow) { margin:24px 0 0; color:var(--muted); line-height:1.8; }
.video-details { margin-top:30px; border-top:1px solid #d9cbb7; border-bottom:1px solid #d9cbb7; }
.video-details summary { min-height:58px; display:flex; align-items:center; justify-content:space-between; gap:18px; cursor:pointer; list-style:none; color:#473f35; font-size:10px; font-weight:850; letter-spacing:.1em; text-transform:uppercase; }
.video-details summary::-webkit-details-marker { display:none; }
.video-details summary i { width:29px; height:29px; display:grid; flex:none; place-items:center; border:1px solid #c99b4b; border-radius:50%; color:#94631f; font-size:17px; font-style:normal; font-weight:400; transition:transform .2s ease,background .2s ease,color .2s ease; }
.video-details[open] summary i { color:#fff; background:#1a1815; transform:rotate(45deg); }
.video-details-content { padding:0 0 24px; }
.video-details-content p { margin:0; color:var(--muted); font-size:12px; line-height:1.75; }
.video-details-content ul { margin:17px 0 0; padding:0; list-style:none; }
.video-details-content li { position:relative; padding:7px 0 7px 19px; border-top:1px solid #ebe2d5; color:#625b52; font-size:11px; line-height:1.55; }
.video-details-content li::before { position:absolute; top:8px; left:0; color:#a87527; content:"✓"; }
.video-date { margin-top:32px; display:flex; align-items:center; gap:16px; }
.video-date>span { display:grid; width:57px; height:57px; place-items:center; border:1px solid #c7a05e; border-radius:50%; color:#9a6828; font-family:Georgia,serif; font-size:21px; }
.video-date strong,.video-date small { display:block; }
.video-date strong { font-family:Georgia,serif; font-size:16px; font-weight:500; }
.video-date small { margin-top:4px; color:#8c857c; font-size:9px; }
.video-stage { position:relative; aspect-ratio:16/10; display:grid; place-items:center; overflow:hidden; border:1px solid #d5c19f; color:#fff; background:radial-gradient(circle at 70% 25%,rgba(212,165,82,.22),transparent 13rem),linear-gradient(145deg,#2d2923,#12110f); box-shadow:var(--shadow); }
.video-stage::before,.video-stage::after { position:absolute; content:""; pointer-events:none; }
.video-stage::before { inset:18px; border:1px solid rgba(225,190,121,.18); }
.video-stage::after { width:150%; height:1px; background:linear-gradient(90deg,transparent,#755c35,transparent); transform:rotate(-28deg); }
.video-placeholder,.video-fallback { position:relative; z-index:2; display:grid; justify-items:center; text-align:center; }
.play-button { width:78px; height:78px; display:grid; place-items:center; padding-left:5px; border:1px solid #d6ad61; border-radius:50%; color:#e2bd76; background:rgba(0,0,0,.25); box-shadow:0 0 0 12px rgba(212,164,77,.07); font-size:20px; }
.video-placeholder strong,.video-fallback strong { margin-top:25px; font-family:Georgia,serif; font-size:27px; font-weight:500; }
.video-placeholder small,.video-fallback small { margin-top:8px; color:#9e978d; font-size:9px; letter-spacing:.12em; text-transform:uppercase; }
.video-native,.video-embed,.video-embed iframe { width:100%; height:100%; }
.video-native { position:absolute; z-index:2; inset:0; display:block; object-fit:contain; background:#000; }
.video-embed iframe { position:absolute; inset:0; border:0; }

.faq-section { display:grid; grid-template-columns:.72fr 1.28fr; gap:105px; }
.faq-heading { position:sticky; top:125px; align-self:start; }
.faq-heading>p:last-child { max-width:410px; }
.faq-list { border-top:1px solid #cfc0a9; }
.faq-list details { border-bottom:1px solid #cfc0a9; }
.faq-list summary { min-height:88px; display:flex; align-items:center; justify-content:space-between; gap:25px; cursor:pointer; list-style:none; font-family:Georgia,serif; font-size:20px; line-height:1.35; }
.faq-list summary::-webkit-details-marker { display:none; }
.faq-list summary span { width:32px; height:32px; flex:none; display:grid; place-items:center; border:1px solid #c49b56; border-radius:50%; color:#9a6928; font-family:"Segoe UI",Arial,sans-serif; font-size:18px; font-weight:300; transition:transform .25s ease,background .25s ease; }
.faq-list details[open] summary span { color:#fff; background:#1a1815; transform:rotate(45deg); }
.faq-list details p { margin:-8px 58px 28px 0; color:#716b63; font-size:13px; line-height:1.8; }

.contact-section { display:grid; grid-template-columns:.7fr 1.3fr; gap:85px; padding:115px max(24px,calc((100vw - 1180px)/2)); color:var(--ink); background:#fff; }
.contact-copy { align-self:start; position:sticky; top:130px; }
.contact-copy h2 { margin-top:20px; font-size:clamp(40px,4.4vw,60px); }
.contact-copy h2 em { color:var(--gold-deep); }
.contact-copy>p:not(.eyebrow) { margin:25px 0 0; color:var(--muted); font-size:14px; line-height:1.85; }
.contact-person { margin-top:40px; display:flex; align-items:center; gap:18px; padding:20px 0; border-top:1px solid var(--line); border-bottom:1px solid var(--line); }
.person-photo { width:64px; height:64px; flex:none; position:relative; overflow:hidden; border:2px solid #d1a251; border-radius:50%; background:#f4ede2; box-shadow:0 8px 20px rgba(94,61,19,.16); }
.person-photo img { width:100%; height:100%; object-fit:cover; object-position:50% 16%; transform:scale(1.22); }
.contact-person small,.contact-person strong,.contact-person p { display:block; }
.contact-person small { color:#7d756b; font-size:8px; font-weight:800; letter-spacing:.12em; text-transform:uppercase; }
.contact-person strong { margin-top:5px; font-family:Georgia,serif; font-size:21px; font-weight:500; }
.contact-person p { margin:5px 0 0!important; color:var(--muted)!important; font-size:10px!important; line-height:1.5!important; }
.phone-link { margin-top:22px; display:inline-grid; }
.phone-link span { color:#7d756b; font-size:8px; font-weight:800; letter-spacing:.12em; text-transform:uppercase; }
.phone-link strong { margin-top:6px; color:var(--gold-deep); font-family:Georgia,serif; font-size:24px; font-weight:500; }
.contact-form { display:grid; grid-template-columns:1fr 1fr; gap:21px 18px; padding:43px; border:1px solid #d4bc92; color:#26221d; background:#f5efe6; box-shadow:0 30px 70px rgba(0,0,0,.25); }
.form-field { min-width:0; }
.form-field-wide { grid-column:1/-1; }
.form-field label,.callback-fields legend { display:block; margin:0 0 8px; color:#544c42; font-size:9px; font-weight:800; letter-spacing:.055em; text-transform:uppercase; }
.optional { color:#9b9287; font-weight:500; letter-spacing:0; text-transform:none; }
.form-field input,.form-field select,.form-field textarea { width:100%; border:1px solid #d2c4b2; color:#25211c; background:#fff; outline:0; transition:border-color .2s ease,box-shadow .2s ease; }
.form-field input,.form-field select { height:48px; padding:0 13px; }
.form-field textarea { min-height:128px; padding:13px; resize:vertical; line-height:1.6; }
.form-field input:focus,.form-field select:focus,.form-field textarea:focus { border-color:#ad762b; box-shadow:0 0 0 3px rgba(181,122,41,.12); }
.unit-input { position:relative; }
.unit-input input { padding-right:48px; }
.unit-input span { position:absolute; top:0; right:0; bottom:0; width:44px; display:grid; place-items:center; border-left:1px solid #d2c4b2; color:#7c746a; font-size:11px; }
.callback-fields { min-width:0; margin:3px 0 0; padding:15px 0 0; display:grid; grid-template-columns:repeat(3,1fr); gap:14px; border:0; border-top:1px solid #d8cbb9; }
.callback-fields legend { padding-right:10px; }
.privacy-check { display:flex; align-items:flex-start; gap:11px; color:#686057; font-size:10px; line-height:1.6; }
.privacy-check input { width:17px; height:17px; flex:none; margin:1px 0 0; accent-color:#a87025; }
.privacy-check a { color:#7e571f; text-decoration:underline; }
.privacy-check strong { color:#9d6318; }
.form-submit { display:flex; align-items:center; gap:18px; }
.form-submit small { color:#847c72; font-size:9px; }
.form-status { min-height:20px; margin:0; color:#76531f; font-size:11px; font-weight:700; }
.form-honeypot { position:absolute!important; width:1px!important; height:1px!important; overflow:hidden!important; clip:rect(1px,1px,1px,1px)!important; white-space:nowrap!important; }

.footer-shell { color:#d4cec4; background:#0d0c0b; }
.footer-topline { width:min(1180px,calc(100% - 48px)); margin:auto; min-height:125px; display:grid; grid-template-columns:1fr auto 1fr; align-items:center; gap:35px; border-bottom:1px solid rgba(255,255,255,.09); }
.footer-lockup .brand-name b { color:#f1ece4; }
.footer-lockup>small { color:#958d82; }
.footer-topline>p { margin:0; color:#d4ad65; font-family:Georgia,serif; font-size:21px; }
.footer-up { justify-self:end; color:#999188; font-size:9px; font-weight:800; letter-spacing:.1em; text-transform:uppercase; }
.site-footer { width:min(1180px,calc(100% - 48px)); margin:auto; padding:63px 0; display:grid; grid-template-columns:1.4fr .8fr 1fr .6fr; gap:65px; }
.site-footer>div>p:not(.footer-title) { margin:0; color:#888178; font-size:11px; line-height:1.75; }
.footer-title { margin:0 0 20px; color:#d6ad60; font-size:9px; font-weight:850; letter-spacing:.14em; text-transform:uppercase; }
.site-footer a { display:block; width:max-content; max-width:100%; margin:10px 0; color:#aaa399; font-size:10px; }
.site-footer a:hover { color:#e0bb72; }
.footer-social { width:min(1180px,calc(100% - 48px)); margin:auto; padding:0 0 35px; }
.footer-social>.footer-title { margin-bottom:15px; }
.social-buttons { display:flex; flex-wrap:wrap; gap:10px; }
.social-buttons>a,.social-button-disabled { min-height:43px; display:inline-flex; align-items:center; gap:10px; padding:7px 15px 7px 8px; border:1px solid rgba(218,177,103,.25); color:#b6aea3; background:rgba(255,255,255,.035); font-size:9px; font-weight:800; letter-spacing:.06em; text-transform:uppercase; transition:border-color .2s ease,color .2s ease,background .2s ease,transform .2s ease; }
.social-buttons>a>span,.social-button-disabled>i { width:27px; height:27px; display:grid; flex:none; place-items:center; border:1px solid rgba(218,177,103,.42); border-radius:50%; color:#ddb568; font-family:Georgia,serif; font-size:12px; font-style:normal; font-weight:700; letter-spacing:0; text-transform:none; }
.social-buttons>a:hover { border-color:#d5aa5d; color:#fff; background:rgba(213,170,93,.09); transform:translateY(-2px); }
.social-button-disabled { opacity:.68; cursor:default; }
.social-buttons>a.social-button-primary { color:#1c1710; border-color:#c99643; background:linear-gradient(135deg,#e5c57f,#b97d2d); }
.social-buttons>a.social-button-primary>span { color:#1c1710; border-color:rgba(28,23,16,.35); }
.social-buttons>a.social-button-primary:hover { color:#1c1710; background:linear-gradient(135deg,#efd89e,#c98d38); }
.footer-bottom { width:min(1180px,calc(100% - 48px)); margin:auto; display:flex; justify-content:space-between; gap:25px; padding:22px 0 28px; border-top:1px solid rgba(255,255,255,.07); color:#66615a; font-size:8px; font-weight:700; letter-spacing:.08em; text-transform:uppercase; }

.js .reveal { opacity:0; transform:translateY(24px); transition:opacity .7s ease,transform .7s ease; }
.js .reveal.is-visible { opacity:1; transform:none; }

.content-page-header { border-bottom:1px solid #ded2bf; background:#fbf9f5; }
.content-page-header-inner { width:min(1120px,calc(100% - 48px)); min-height:90px; margin:auto; display:flex; align-items:center; justify-content:space-between; gap:25px; }
.content-page-back { color:#74501c; font-size:10px; font-weight:800; letter-spacing:.08em; text-transform:uppercase; }
.content-page-shell { min-height:70vh; padding:80px 0 120px; background:#f3ede3; }
.content-page { width:min(900px,calc(100% - 48px)); margin:auto; padding:55px 60px; border:1px solid #ded2bf; background:#fff; box-shadow:var(--shadow); }
.content-page h1 { margin:0 0 35px; font-family:Georgia,serif; font-size:clamp(40px,5vw,62px); font-weight:500; letter-spacing:-.04em; }
.content-page h2,.content-page h3 { font-family:Georgia,serif; font-weight:500; }
.content-page p,.content-page li { color:#5f5951; line-height:1.8; }
.content-page a { color:#8d5e1f; text-decoration:underline; }

@media (max-width:1120px) {
  .desktop-nav { gap:19px; }
  .header-inner { gap:23px; }
  .hero-inner { grid-template-columns:1fr 1fr; gap:45px; }
  .hero-trust { grid-template-columns:1fr; }
  .hero-trust span { min-height:46px; padding-top:10px; border-bottom:1px solid var(--line); }
  .principle-grid { grid-template-columns:1fr 1fr; gap:14px; }
  .principle-grid article,.principle-grid article:last-child { border:1px solid var(--line); }
  .principle-grid article.featured { transform:none; }
  .build-copy { padding:70px 45px; }
  .process-list { grid-template-columns:repeat(3,1fr); }
  .process-list li:nth-child(4),.process-list li:nth-child(5) { border-top-color:#d7b77d; }
  .faq-section { gap:65px; }
  .contact-section { gap:55px; }
  .site-footer { gap:35px; }
}

@media (max-width:900px) {
  .desktop-nav,.header-cta { display:none; }
  .mobile-menu { display:block; }
  .hero-inner { min-height:auto; grid-template-columns:1fr; gap:65px; padding:85px 0 82px; }
  .hero-copy { max-width:720px; }
  .hero-trust { grid-template-columns:repeat(3,1fr); }
  .hero-trust span { min-height:62px; border-bottom:0; }
  .hero-visual { width:min(690px,100%); margin:auto; }
  .facts-bar { grid-template-columns:1fr 1fr; }
  .facts-bar>div:nth-child(2) { border-right:0; }
  .facts-bar>div:nth-child(-n+2) { border-bottom:1px solid rgba(48,37,20,.16); }
  .split-heading { grid-template-columns:1fr; gap:34px; }
  .build-section { grid-template-columns:1fr; }
  .build-visual { min-height:0; }
  .build-copy { padding:80px max(24px,calc((100vw - 720px)/2)); }
  .concept-grid { grid-template-columns:1fr; }
  .concept-grid article { min-height:auto; }
  .concept-grid article.concept-featured { transform:none; }
  .concept-house { max-width:520px; margin-inline:auto; }
  .concept-note { grid-template-columns:1fr; }
  .process-list { grid-template-columns:1fr 1fr; }
  .video-section { grid-template-columns:1fr; }
  .faq-section { grid-template-columns:1fr; }
  .faq-heading { position:static; }
  .contact-section { grid-template-columns:1fr; }
  .contact-copy { position:static; }
  .site-footer { grid-template-columns:1fr 1fr; }
}

@media (max-width:680px) {
  html { scroll-padding-top:76px; }
  .admin-bar .site-header { top:46px; }
  .announcement { display:none; }
  .header-inner { width:calc(100% - 30px); min-height:72px; }
  .brand-name { font-size:24px; }
  .brand-lockup>small { font-size:7px; }
  .hero-inner,.hero-note,.section,.footer-topline,.site-footer,.footer-social,.footer-bottom { width:calc(100% - 30px); }
  .hero-inner { gap:48px; padding:65px 0 55px; }
  h1 { font-size:clamp(50px,16vw,72px); }
  h2 { font-size:clamp(38px,12vw,54px); }
  .hero-lead { font-size:16px; }
  .hero-actions { align-items:flex-start; flex-direction:column; }
  .hero-trust { grid-template-columns:1fr; }
  .hero-trust span { min-height:48px; border-bottom:1px solid var(--line); }
  .facts-bar { grid-template-columns:1fr; }
  .facts-bar>div { min-height:94px; border-right:0; border-bottom:1px solid rgba(48,37,20,.16); }
  .section { padding:85px 0; }
  .principle-grid { grid-template-columns:1fr; margin-top:45px; }
  .principle-grid article { min-height:300px; }
  .build-visual { min-height:0; overflow:visible; background:#fff; }
  .build-visual::after { display:none; }
  .build-visual img { width:100%; height:auto; object-fit:contain; object-position:center; }
  .build-badge { position:relative; right:auto; bottom:auto; left:auto; margin:0 15px; padding:18px 20px; }
  .build-badge strong { font-size:19px; line-height:1.25; }
  .build-copy { padding:58px 24px 70px; }
  .build-copy h2 { font-size:clamp(39px,11vw,48px); line-height:1.02; }
  .concept-grid { margin-top:45px; }
  .concept-grid article { padding:28px 23px; }
  .concept-house { height:145px; }
  .concept-note { padding:26px 23px; }
  .process-section,.contact-section { padding:85px 24px; }
  .process-list { grid-template-columns:1fr; margin-top:50px; }
  .process-list li { min-height:225px; }
  .video-section { gap:45px; }
  .video-stage { aspect-ratio:1/1; }
  .play-button { width:62px; height:62px; }
  .video-placeholder strong,.video-fallback strong { font-size:22px; }
  .faq-list summary { min-height:80px; font-size:17px; }
  .contact-form { grid-template-columns:1fr; padding:26px 20px; }
  .form-field-wide { grid-column:auto; }
  .callback-fields { grid-column:auto; grid-template-columns:1fr; }
  .privacy-check,.form-submit,.form-status { grid-column:auto; }
  .form-submit { align-items:flex-start; flex-direction:column; }
  .footer-topline { grid-template-columns:1fr auto; padding:28px 0; }
  .footer-topline>p { grid-column:1/-1; grid-row:2; }
  .footer-up { grid-column:2; grid-row:1; }
  .site-footer { grid-template-columns:1fr; padding:45px 0; }
  .social-buttons>a,.social-button-disabled { flex:1 1 calc(50% - 5px); }
  .social-buttons>a.social-button-primary { flex-basis:100%; }
  .footer-bottom { align-items:flex-start; flex-direction:column; }
  .configurator-float { right:15px; bottom:max(92px,calc(18px + env(safe-area-inset-bottom))); min-height:52px; gap:9px; padding:6px 12px 6px 6px; }
  .configurator-float-icon { width:38px; height:38px; font-size:18px; }
  .configurator-float-copy strong { font-size:14px; }
  .configurator-float-arrow { font-size:15px; }
  .content-page-header-inner,.content-page { width:calc(100% - 30px); }
  .content-page-header-inner { min-height:76px; }
  .content-page { padding:34px 24px; }
}

@media (max-width:380px) {
  .brand-name { font-size:22px; }
  .mobile-menu summary { width:40px; height:40px; }
}

@media (prefers-reduced-motion:reduce) {
  html { scroll-behavior:auto; }
  *,*::before,*::after { scroll-behavior:auto!important; transition-duration:.01ms!important; animation-duration:.01ms!important; animation-iteration-count:1!important; }
  .js .reveal { opacity:1; transform:none; }
}
