@font-face{font-family:'Cormorant Garamond';src:url('./assets/CormorantGaramond-Medium.woff2') format('woff2');font-weight:500;font-display:swap}
@font-face{font-family:Manrope;src:url('./assets/Manrope-Medium.woff2') format('woff2');font-weight:500;font-display:swap}
@font-face{font-family:Ramillas;src:url('./assets/Ramillas-Light.woff2') format('woff2');font-weight:300;font-display:swap}
@font-face{font-family:Hoves;src:url('./assets/Hoves-Medium.woff2') format('woff2');font-weight:500;font-display:swap}
@font-face{font-family:Hoves;src:url('./assets/Hoves-Bold.woff2') format('woff2');font-weight:700;font-display:swap}
:root{--wine:#381c17;--bronze:#78563a;--paper:#deded1;--light:#f2f0e8;--muted:#c2b7a7;--gutter:4.4vw;color:var(--paper);background:var(--wine);font-family:Manrope,Arial,sans-serif;font-weight:500;font-synthesis:none}
*{box-sizing:border-box}body{margin:0}button,input{font:inherit;color:inherit}button{cursor:pointer;-webkit-tap-highlight-color:transparent}button:disabled{cursor:default}button,a,input{touch-action:manipulation}button:focus-visible,a:focus-visible,input:focus-visible,.feature-rail:focus-visible{outline:2px solid var(--paper);outline-offset:5px}button{border-radius:0}.svg-definitions{position:absolute;width:0;height:0;overflow:hidden}.skip-link{position:fixed;left:20px;top:12px;z-index:60;padding:14px 20px;background:var(--paper);color:var(--wine);transform:translateY(-150%)}.skip-link:focus{transform:none}
/* Geometry follows the user-edited Figma frame 10814:62 (1440 × 900).
   Card shape follows the user's sample 10849:6048 / 10849:6052. */
.hero { height:100svh; min-height:620px; position:relative; isolation:isolate; overflow:hidden; }
.hero-photo,.hero-shade { position:absolute; inset:0; pointer-events:none; }
.hero-photo { z-index:-3; left:0; right:auto; width:125.0694%; background:url('./assets/hero.webp') center/cover no-repeat; }
.hero-shade { z-index:-2; background:linear-gradient(90deg,#381c17 -14.306%,#381c17d9 8.3436%,#381c17b5 18.431%,#381c1770 31.813%,#381c1705 62.685%,#381c1700 100%); }
.header { position:absolute; top:32px; left:var(--gutter); right:var(--gutter); display:flex; align-items:center; justify-content:space-between; gap:20px; z-index:3; }
.header-signature { font-size:17px; line-height:1.3; }
.header-signature span { margin-left:7px; white-space:nowrap; }
.place { display:flex; align-items:center; justify-content:center; gap:10px; width:297px; min-height:50px; font-size:11px; line-height:1.45; border:1px solid #deded180; background:#381c178c; padding:11px 15px; backdrop-filter:blur(12px); -webkit-backdrop-filter:blur(12px); }
.place svg { width:17px; height:20px; fill:none; stroke:currentColor; stroke-width:1.3; }
.mobile-break { display:none; }
.copy-panel { position:absolute; left:var(--gutter); top:15%; width:580px; max-width:calc(100% - 2 * var(--gutter)); }
.project-tag { display:inline-flex; align-items:center; justify-content:center; width:234px; height:59px; font-size:25px; line-height:1.15; letter-spacing:1px; white-space:nowrap; text-transform:uppercase; color:#fff; border:1px solid #deded1; padding:10px 12px; }
h1 { display:contents; }
.hero-wordmark { display:block; margin:18px 0 15px; line-height:0; }
.project-wordmark { display:block; width:440px; max-width:100%; height:auto; }
.hero-subtitle { display:block; margin:0; font-family:"Cormorant Garamond",Georgia,serif; font-weight:500; font-size:50px; line-height:45px; letter-spacing:-.025em; color:var(--light); }
.lead-panel { position:absolute; left:var(--gutter); bottom:245px; width:432px; max-width:calc(100% - 2 * var(--gutter)); }
.hero-description { font-size:15px; line-height:19.3px; margin:0 0 18px; color:var(--paper); }
.cta { display:flex; align-items:center; justify-content:space-between; gap:24px; width:340px; max-width:100%; min-height:55px; padding:17px 21px; background:var(--paper); color:var(--wine); border:1px solid var(--paper); font-size:13px; font-weight:500; text-align:left; transition:background .2s ease,transform .2s ease; }
.cta svg { width:19px; height:19px; fill:none; stroke:currentColor; stroke-width:1.2; flex-shrink:0; }
.cta:hover { background:#f2f0e8; transform:translateY(-2px); }
.features { --visible-cards:4; position:absolute; left:var(--gutter); right:var(--gutter); bottom:52px; }
.features-heading { display:flex; align-items:center; justify-content:space-between; min-height:30px; margin-bottom:12px; gap:16px; }
.features-heading>span { font-family:"Cormorant Garamond",Georgia,serif; font-size:23px; font-weight:500; }
.feature-controls { display:flex; align-items:center; gap:16px; }
.feature-counter { position:absolute; width:1px; height:1px; overflow:hidden; clip-path:inset(50%); font-size:10px; letter-spacing:.05em; font-variant-numeric:tabular-nums; white-space:nowrap; }
.counter-total { color:var(--paper); }
.feature-arrows { display:flex; gap:6px; }
.feature-arrows button { width:36px; height:30px; display:grid; place-items:center; border:1px solid #deded180; background:var(--wine); color:var(--paper); font-size:20px; line-height:1; }
.feature-arrows button:hover:not(:disabled) { background:var(--paper); color:var(--wine); }
.feature-arrows button:disabled { opacity:.3; }
.feature-rail { display:flex; gap:12px; overflow-x:auto; scroll-snap-type:x mandatory; overscroll-behavior-inline:contain; scrollbar-width:none; }
.feature-rail::-webkit-scrollbar { display:none; }
.feature-card { flex:0 0 calc((100% - (var(--visible-cards) - 1)*12px)/var(--visible-cards)); min-width:0; display:flex; align-items:center; gap:14px; height:107px; padding:12px 10px 13px; border-radius:30px; background:#d9d9d9; color:var(--wine); scroll-snap-align:start; overflow:hidden; }
.feature-card>img { width:135px; height:82px; border-radius:20px; object-fit:cover; object-position:center; flex:none; }
.feature-copy { min-width:0; flex:1; }
.feature-copy h2 { font-size:13px; line-height:16px; font-weight:500; margin:0 0 7px; }
.feature-copy p { font-size:11px; line-height:15.4px; color:#674e43; margin:0; }
dialog{border:0;padding:0;color:var(--wine);background:var(--paper);max-height:calc(100svh - 40px)}dialog::backdrop{background:#170c0bba;backdrop-filter:blur(9px);-webkit-backdrop-filter:blur(9px)}body:has(dialog[open]){overflow:hidden}.modal{width:min(900px,calc(100% - 48px));max-width:none;box-shadow:0 24px 120px #0004}.lead-form{display:grid;grid-template-columns:42% 58%}.modal-render{position:relative;background:linear-gradient(180deg,transparent 30%,#381c17b0 100%),url('./assets/terrace.webp') 40% center/cover;min-height:540px}.modal-render>span{position:absolute;bottom:35px;left:30px;right:20px;font-family:Ramillas,Georgia,serif;font-size:30px;line-height:1.15;font-weight:300;color:var(--paper)}.modal-content{padding:40px 44px 24px;position:relative}.close{position:absolute;top:12px;right:14px;width:40px;height:40px;z-index:2;display:grid;place-items:center;border:0;background:transparent;font-family:Arial,sans-serif;font-size:29px;font-weight:400;color:var(--wine)}.close:hover{background:#78563a1a}.modal-logo{display:block;width:112px;height:auto;filter:brightness(0) saturate(100%) invert(11%) sepia(17%) saturate(2455%) hue-rotate(324deg) brightness(95%) contrast(89%)}.modal-content h2{font-family:Ramillas,Georgia,serif;font-size:36px;line-height:1.1;font-weight:300;margin:24px 0 14px;letter-spacing:-.02em}.form-intro{font-size:13px;line-height:1.5;margin:0 0 24px;color:#745f52}.field{display:block;font-size:11px;margin-bottom:12px}.field>span:first-child{display:block;margin-bottom:6px}.field input{display:block;width:100%;border:1px solid #78563a44;background:#ffffff24;border-radius:0;height:44px;padding:11px 12px;font-size:14px;outline-color:var(--bronze)}.field input::placeholder{color:#8a7768}.field input[aria-invalid=true]{border-color:#a4322a}.field-error{display:block;min-height:13px;margin-top:4px;color:#a4322a;font-size:10px}.modal .cta{width:100%;background:var(--wine);border-color:var(--wine);color:var(--paper)}.modal .cta:hover{background:#4d352f}.form-status{margin:10px 0 0;font-size:12px;line-height:1.45}.form-status:empty{display:none}.modal button:focus-visible{outline-color:var(--bronze)}

@media (max-width:1360px) and (min-width:761px) {
  .features { --visible-cards:3; }
  .copy-panel { width:540px; }
  .project-wordmark { width:380px; }
  .hero-subtitle { font-size:40px; line-height:42px; }
}
@media (min-width:761px) and (max-width:1000px) { .features { --visible-cards:2; } }
@media (max-height:780px) and (min-width:761px) {
  .header { top:22px; }
  .project-tag { width:214px; height:47px; font-size:22px; }
  .project-wordmark { width:350px; }
  .hero-subtitle { font-size:38px; line-height:40px; }
  .hero-description { font-size:14px; }
  .lead-panel { bottom:223px; }
  .cta { min-height:51px; padding:14px 19px; }
  .features { bottom:40px; }
}
@media (min-width:1700px) {
  .copy-panel { width:660px; }
  .project-wordmark { width:480px; }
  .hero-subtitle { font-size:49px; line-height:51px; }
  .feature-copy h2 { font-size:15px; line-height:18px; }
  .feature-copy p { font-size:12px; line-height:17px; }
}
/* Approved mobile Figma 10883:112, 17 October 2026.
   Keep the artwork proportional; short screens scroll at the original text sizes. */
.mobile-pin,.mobile-arrow,.description-mobile,.feature-dots { display:none; }
.form-status.is-error { color:#a4322a; }
.form-status.is-success { color:#3e5a39; }
.lead-form[aria-busy=true] button[type=submit] { opacity:.7; cursor:wait; }
@media (max-width:760px) {
  :root { --gutter:6.841026vw; }
  .hero {
    --art-shift:0px;
    --description-top:calc(139.487179vw + var(--art-shift));
    display:flex; flex-direction:column; height:auto;
    min-height:max(100svh,216.410256vw);
    padding-top:88px; padding-bottom:61px; background:#352617;
  }
  .hero-photo {
    top:calc(-4.615385vw + var(--art-shift)); left:-1.107647vw;
    right:auto; bottom:auto; width:102.051282%; height:221.025641vw;
    background-image:url('./assets/hero-mobile.webp'); background-position:center; background-size:cover;
  }
  .hero-shade {
    inset:auto; left:-1.187179vw; top:calc(86.4vw + var(--art-shift));
    width:102.202821%; height:130.391026vw;
    background:linear-gradient(0deg,#352617 20.842%,#35261700 87.997%);
  }
  .header { top:26px; left:var(--gutter); right:20px; gap:16px; align-items:flex-start; color:#352617; }
  .header-signature { font-size:10px; line-height:14px; white-space:nowrap; }
  .header-signature span { display:block; margin-left:0; font-size:12px; line-height:14px; }
  .place { position:relative; width:134.32px; min-height:28px; flex:none; padding:0 0 0 21px; display:block; border:0; background:none; font-size:10px; line-height:14px; text-align:left; backdrop-filter:none; -webkit-backdrop-filter:none; }
  .place svg { display:none; }
  .place .mobile-pin { display:block; position:absolute; left:-.5px; top:5.5px; }
  .place-divider { display:none; }
  .mobile-break { display:block; }
  .copy-panel { position:relative; order:1; top:auto; left:auto; display:flex; flex-direction:column; flex:none; width:calc(100% - 2 * var(--gutter)); max-width:none; height:157px; margin:0 var(--gutter); }
  .project-tag { width:154px; height:36px; flex:0 0 36px; justify-content:flex-start; padding:0 0 0 15px; border:0; background:var(--wine); color:var(--paper); font-size:15px; line-height:16px; letter-spacing:.7px; }
  .hero-wordmark { margin:-5px 0 8.614px .32px; }
  .project-wordmark { width:280px; max-width:100%; height:auto; }
  .hero-subtitle { font-family:Manrope,Arial,sans-serif; font-size:17px; line-height:22px; letter-spacing:0; color:#3e2921; }
  .lead-panel { display:contents; }
  .hero-description { order:2; width:calc(100% - 2 * var(--gutter)); max-width:350px; margin:calc(var(--description-top) - 245px) var(--gutter) 0; font-size:15px; line-height:21px; }
  .description-desktop { display:none; }
  .description-mobile { display:inline; }
  .features { --visible-cards:1; --mobile-card-width:min(314px,calc(100vw - 44px)); order:3; position:relative; inset:auto; width:calc(100% - 4.345vw); margin:18.98px 0 0 4.345vw; }
  .features-heading { position:absolute; width:1px; height:1px; min-height:0; margin:0; overflow:hidden; clip-path:inset(50%); }
  .features-heading>span,.feature-arrows { display:none; }
  .feature-rail { gap:12px; }
  .feature-rail::after { content:""; flex:0 0 max(0px,calc(100% - var(--mobile-card-width) - 12px)); }
  .feature-card { flex:0 0 var(--mobile-card-width); height:96px; padding:10px; gap:12px; border-radius:28px; }
  .feature-card>img { width:112px; height:76px; max-width:none; border-radius:18px; }
  .feature-copy h2 { font-size:14px; line-height:18px; margin-bottom:6px; }
  .feature-copy p { font-size:12px; line-height:16px; }
  .feature-dots { display:flex; align-items:center; justify-content:center; gap:6px; height:4px; margin-top:12px; transform:translateX(-11.525px); }
  .feature-dots img { display:block; flex:none; }
  .hero-cta { order:4; position:relative; width:calc(100% - 10.25641vw); max-width:none; min-height:52px; height:52px; margin:14.02px 4.697436vw 0 5.558974vw; padding:0 23.73px 0 15.27px; border:0; gap:12px; font-size:15px; line-height:20px; }
  .hero-cta svg { display:none; }
  .hero-cta .mobile-arrow { display:block; flex:none; }
  .hero-cta:hover { transform:none; }
  .modal { width:calc(100% - 30px); max-height:calc(100svh - 30px); }
  .lead-form { display:block; }
  .modal-render { display:none; }
  .modal-content { padding:31px 26px 25px; }
  .modal-content h2 { font-size:33px; margin-top:23px; }
  .form-intro { font-size:12px; margin-bottom:22px; }
}
@media (max-width:360px) {
  .hero { --art-shift:40px; }
  .hero-photo { top:-4.615385vw; height:calc(221.025641vw + 120px); }
  .copy-panel { height:150.186px; }
  .project-wordmark { width:254px; }
  .hero-description { margin-top:calc(var(--description-top) - 238.186px); }
  .feature-card>img { width:90px; }
  .hero-cta { padding-right:16px; }
}
@media (min-width:761px) and (max-height:650px) { .hero { min-height:650px; } }
@media (prefers-reduced-motion:reduce) { *,*::before,*::after { scroll-behavior:auto!important; transition:none!important; animation:none!important; } }
