
:root {
  --spacing-xs: .25rem;
  --spacing-sm: .5rem;
  --spacing-md: 1rem;
  --spacing-lg: 1.5rem;
  --spacing-xl: 2rem;
  --spacing-2xl: clamp(1.45rem, 4vw, 3rem);
  --spacing-3xl: clamp(1.6rem, 5.33vw, 4rem);
  --spacing-4xl: clamp(1.9rem, 8vw, 6rem);
  --color-primary: #0d1b2a;
  --color-secondary: #1f4d3a;
  --color-accent: #c9a86b;
  --color-surface: #fefbf8;
  --color-surface-tint: #f4eee7;
  --color-surface-elevated: #f7f2ec;
  --color-on-primary: #ffffff;
  --color-on-secondary: #ffffff;
  --color-on-surface: #111318;
  --color-on-surface-secondary: #4a4a4a;
  --color-neutral: #77736d;
  --color-outline: rgba(13, 27, 42, .16);
  --color-overlay: rgba(7, 15, 23, .56);
  --font-size-xs: clamp(.75rem,.70rem + .18vw,.84rem);
  --font-size-sm: clamp(.875rem,.82rem + .22vw,.98rem);
  --font-size-base: 0.95rem;
  --font-size-lg: clamp(1.075rem,1rem + .45vw,1.28rem);
  --font-size-xl: clamp(1.25rem,1.12rem + .65vw,1.55rem);
  --font-size-2xl: clamp(1.45rem, 1.3rem + 0.7vw, 1.75rem);
  --font-size-3xl: clamp(1.75rem, 1.55rem + 0.9vw, 2.2rem);
  --font-size-4xl: clamp(2rem, 1.4rem + 1.2vw, 3rem);
  --font-family-body: Inter, ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
  --font-family-heading: Georgia, "Times New Roman", serif;
  --line-height-body: 1.65;
  --line-height-heading: 1.15;
  --font-weight-body: 400;
  --font-weight-medium: 600;
  --font-weight-heading: 600;
  --letter-spacing-body: .01em;
  --content-max-width: 80rem;
  --text-max-width: 70ch;
  --border-radius-sm: 6px;
  --border-radius-md: 10px;
  --border-radius-lg: 16px;
  --border-radius-xl: 24px;
  --border-radius-full: 999px;
  --shadow-level-1: 0 8px 24px rgba(13,27,42,.08);
  --shadow-level-2: 0 18px 48px rgba(13,27,42,.13);
}

*,*::before,*::after{box-sizing:border-box}
html{scroll-behavior:smooth;background:var(--color-surface)}
body{margin:0;min-width:0;color:var(--color-on-surface);background:var(--color-surface);font-family:var(--font-family-body);font-size:var(--font-size-base);font-weight:var(--font-weight-body);line-height:var(--line-height-body);letter-spacing:var(--letter-spacing-body);overflow-x:clip}
main{display:block;min-width:0}
img {
  max-width: 100%;
  height: auto;
}
img{display:block}
a,a:visited{color:inherit;text-decoration:none}
a:hover{color:var(--color-secondary)}
a:focus,a:focus-visible,button:focus,button:focus-visible,input:focus,select:focus,textarea:focus{outline:3px solid rgba(201,168,107,.62);outline-offset:3px}
a:active{color:var(--color-primary)}
button,input,select,textarea{font:inherit}
button{color:inherit}
p{margin:0 0 var(--spacing-md)}
h1,h2,h3,h4{margin:0;color:inherit;font-family:var(--font-family-heading);font-weight:var(--font-weight-heading);line-height:var(--line-height-heading)}
ul{padding-left:1.2rem}

.container{width:min(calc(100% - 2rem),var(--content-max-width));margin-inline:auto}
.narrow{max-width:var(--text-max-width)}
.section{padding:var(--spacing-4xl) 0}
.section-tight{padding:var(--spacing-3xl) 0}
.section-kicker{display:inline-block;margin-bottom:.65rem;color:var(--color-secondary);font-size:var(--font-size-xs);font-weight:700;letter-spacing:.15em;text-transform:uppercase}
.hero-title{font-size:var(--font-size-4xl)}
.section-title{font-size:var(--font-size-3xl)}
.card-title{font-size:var(--font-size-xl)}
.section-lead{max-width:64ch;margin-top:var(--spacing-md);color:var(--color-on-surface-secondary);font-size:var(--font-size-lg)}
.eyebrow{font-size:var(--font-size-xs);font-weight:700;letter-spacing:.14em;text-transform:uppercase}

.btn{display:inline-flex;align-items:center;justify-content:center;gap:.5rem;min-height:3rem;padding:.15rem 1.35rem;border:1px solid transparent;border-radius:var(--border-radius-full);cursor:pointer;font-weight:700;letter-spacing:.06em;text-transform:uppercase;transition:transform .18s ease,background .18s ease,color .18s ease,border-color .18s ease,box-shadow .18s ease}
.btn:hover{transform:translateY(-1px)}
.btn-primary{color:var(--color-on-primary)!important;background:var(--color-primary);border-color:var(--color-primary)}
.btn-primary:hover{background:#152b40;border-color:#152b40}
.btn-accent{color:#0d1b2a!important;background:var(--color-accent);border-color:var(--color-accent)}
.btn-accent:hover{background:#d8bb83;border-color:#d8bb83}
.btn-outline{color:var(--color-primary)!important;background:transparent;border-color:rgba(13,27,42,.3)}
.btn-outline:hover{background:var(--color-surface-tint)}
.btn-light{color:var(--color-on-primary)!important;background:transparent;border-color:rgba(255,255,255,.52)}
.btn-light:hover{background:rgba(255,255,255,.1)}

.site-header{position:sticky;top:0;z-index:1000;width:100%;background:rgba(254,251,248,.96);border-bottom:1px solid var(--color-outline);backdrop-filter:blur(14px)}
.header-inner{min-height:78px;display:grid;grid-template-columns:auto 1fr auto;align-items:center;gap:var(--spacing-lg)}
.brand{display:inline-flex;align-items:center;gap:.72rem;min-width:0}
.brand-mark{width:42px;height:42px;display:grid;place-items:center;border-radius:50%;color:var(--color-on-primary);background:linear-gradient(145deg,var(--color-primary),var(--color-secondary));font-family:var(--font-family-heading);font-size:1.05rem;font-weight:700;box-shadow:0 5px 16px rgba(13,27,42,.17)}
.brand-text{display:flex;flex-direction:column;line-height:1.05}
.brand-name{font-family:var(--font-family-heading);font-size:1.16rem;font-weight:700;white-space:nowrap}
.brand-tagline{margin-top:.24rem;color:var(--color-neutral);font-size:.66rem;letter-spacing:.11em;text-transform:uppercase;white-space:nowrap}
.site-nav{display:flex;align-items:center;justify-content:center;gap:clamp(.7rem,1.4vw,1.4rem)}
.site-nav a{position:relative;padding:.65rem .1rem;font-size:.87rem;font-weight:650;white-space:nowrap}
.site-nav a::after{content:"";position:absolute;left:0;right:100%;bottom:.34rem;height:1px;background:var(--color-accent);transition:right .2s ease}
.site-nav a:hover::after,.site-nav a[aria-current="page"]::after{right:0}
.site-nav a[aria-current="page"]{color:var(--color-secondary)}
.header-actions{display:flex;align-items:center;gap:.65rem}
.menu-toggle{display:none;width:46px;height:46px;padding:0;border:1px solid var(--color-outline);border-radius:50%;background:var(--color-surface);cursor:pointer;align-items:center;justify-content:center}
.menu-toggle-box{width:19px;display:grid;gap:4px}
.menu-toggle-box span{display:block;height:2px;background:var(--color-primary);transition:transform .2s ease,opacity .2s ease}
.menu-toggle[aria-expanded="true"] .menu-toggle-box span:nth-child(1){transform:translateY(6px) rotate(45deg)}
.menu-toggle[aria-expanded="true"] .menu-toggle-box span:nth-child(2){opacity:0}
.menu-toggle[aria-expanded="true"] .menu-toggle-box span:nth-child(3){transform:translateY(-6px) rotate(-45deg)}

.hero-section{position:relative;overflow:hidden;background:linear-gradient(135deg,#0d1b2a 0%,#173529 100%);color:white}
.hero-grid{min-height:630px;display:grid;grid-template-columns:minmax(0,1.03fr) minmax(0,.97fr);align-items:stretch}
.hero-copy{display:flex;flex-direction:column;justify-content:center;padding:var(--spacing-4xl) clamp(1rem,4vw,4rem) var(--spacing-4xl) 0}
.hero-copy .hero-title{max-width:13ch;color:white}
.hero-copy .lead{max-width:60ch;margin:var(--spacing-lg) 0 var(--spacing-xl);color:rgba(255,255,255,.83);font-size:var(--font-size-lg)}
.hero-actions{display:flex;flex-wrap:wrap;gap:.8rem}
.hero-media{position:relative;min-height:520px;overflow:hidden}
.hero-media img{width:100%;height:100%;object-fit:cover;object-position:center}
.hero-media::after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,rgba(13,27,42,.4),transparent 36%),linear-gradient(0deg,rgba(13,27,42,.25),transparent 38%)}
.hero-badge{position:absolute;left:var(--spacing-lg);bottom:var(--spacing-lg);z-index:2;max-width:270px;padding:1rem 1.1rem;border:1px solid rgba(255,255,255,.22);border-radius:var(--border-radius-lg);background:rgba(13,27,42,.76);backdrop-filter:blur(10px)}
.hero-badge strong{display:block;font-family:var(--font-family-heading);font-size:1.08rem}
.hero-badge span{display:block;margin-top:.2rem;color:rgba(255,255,255,.76);font-size:.82rem}

.page-hero{position:relative;min-height:430px;display:grid;align-items:end;overflow:hidden;background:#0d1b2a;color:white}
.page-hero-media{position:absolute;inset:0}
.page-hero-media img{width:100%;height:100%;object-fit:cover;object-position:center}
.page-hero-media::after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,rgba(7,15,23,.84),rgba(7,15,23,.38) 60%,rgba(7,15,23,.14)),linear-gradient(0deg,rgba(7,15,23,.42),transparent 45%)}
.page-hero-content{position:relative;z-index:1;max-width:760px;padding:var(--spacing-4xl) 0 var(--spacing-3xl)}
.page-hero .hero-title{color:#fff;max-width:16ch}
.page-hero p{max-width:64ch;margin-top:var(--spacing-lg);color:rgba(255,255,255,.84);font-size:var(--font-size-lg)}

.split{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:clamp(2rem,5vw,5rem);align-items:center}
.split.reverse .split-media{order:2}
.split-media{overflow:hidden;border-radius:var(--border-radius-xl);box-shadow:var(--shadow-level-2);background:var(--color-surface-tint)}
.split-media img{width:100%;aspect-ratio:4/3;object-fit:cover}
.split-copy .section-title{max-width:16ch}
.split-copy p{color:var(--color-on-surface-secondary)}
.split-copy .btn{margin-top:.5rem}

.card-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:var(--spacing-lg);margin-top:var(--spacing-2xl)}
.card-grid.three{grid-template-columns:repeat(3,minmax(0,1fr))}
.card{min-width:0;border:1px solid var(--color-outline);border-radius:var(--border-radius-lg);background:#fff;overflow:hidden;box-shadow:var(--shadow-level-1)}
.card-media{overflow:hidden;background:var(--color-surface-tint)}
.card-media img{width:100%;aspect-ratio:4/3;object-fit:cover;transition:transform .35s ease}
.card:hover .card-media img{transform:scale(1.025)}
.card-body{padding:var(--spacing-lg)}
.card-body p{margin-top:.75rem;color:var(--color-on-surface-secondary)}
.card-meta{color:var(--color-secondary);font-size:var(--font-size-xs);font-weight:750;letter-spacing:.11em;text-transform:uppercase}

.feature-band{background:var(--color-primary);color:white}
.feature-band .section-title{color:white}
.feature-band .section-lead{color:rgba(255,255,255,.75)}
.feature-list{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:1px;margin-top:var(--spacing-2xl);background:rgba(255,255,255,.16);border:1px solid rgba(255,255,255,.16)}
.feature-item{padding:var(--spacing-xl);background:var(--color-primary)}
.feature-number{display:block;margin-bottom:.7rem;color:var(--color-accent);font-family:var(--font-family-heading);font-size:1.5rem}
.feature-item p{color:rgba(255,255,255,.72);margin:.6rem 0 0}

.content-grid{display:grid;grid-template-columns:minmax(0,2fr) minmax(250px,1fr);gap:var(--spacing-3xl);align-items:start}
.info-panel{padding:var(--spacing-xl);border-radius:var(--border-radius-lg);background:var(--color-surface-tint);border:1px solid var(--color-outline)}
.info-panel h3{font-size:var(--font-size-xl)}
.info-panel p,.info-panel li{color:var(--color-on-surface-secondary)}
.info-list{list-style:none;padding:0;margin:var(--spacing-lg) 0 0}
.info-list li{padding:.65rem 0;border-top:1px solid var(--color-outline)}
.info-list strong{display:block;color:var(--color-on-surface);font-size:.85rem}

.menu-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:var(--spacing-lg);margin-top:var(--spacing-2xl)}
.menu-card{padding:var(--spacing-xl);border:1px solid var(--color-outline);border-radius:var(--border-radius-lg);background:white}
.menu-card h3{font-size:var(--font-size-xl)}
.menu-card p{margin:.6rem 0 0;color:var(--color-on-surface-secondary)}
.menu-card ul{margin:.9rem 0 0;color:var(--color-on-surface-secondary)}

.steps{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:var(--spacing-lg);margin-top:var(--spacing-2xl)}
.step{padding:var(--spacing-xl);border-left:3px solid var(--color-accent);background:var(--color-surface-tint)}
.step span{display:inline-block;margin-bottom:.8rem;color:var(--color-secondary);font-weight:800;letter-spacing:.1em}
.step p{margin:.55rem 0 0;color:var(--color-on-surface-secondary)}

.quote-panel{padding:var(--spacing-3xl);border-radius:var(--border-radius-xl);color:white;background:linear-gradient(135deg,var(--color-secondary),#10281e)}
.quote-panel .section-title{color:white}
.quote-panel p{max-width:67ch;color:rgba(255,255,255,.8)}

.faq{max-width:850px;margin-top:var(--spacing-2xl)}
details{border-top:1px solid var(--color-outline)}
details:last-child{border-bottom:1px solid var(--color-outline)}
summary{cursor:pointer;padding:1rem 0;font-family:var(--font-family-heading);font-size:1.08rem;font-weight:700}
details p{padding:0 0 1rem;color:var(--color-on-surface-secondary)}

.contact-layout{display:grid;grid-template-columns:minmax(0,.88fr) minmax(0,1.12fr);gap:var(--spacing-3xl);align-items:start}
.contact-card{padding:var(--spacing-xl);border:1px solid var(--color-outline);border-radius:var(--border-radius-lg);background:var(--color-surface-tint)}
.contact-card h2{font-size:var(--font-size-2xl)}
.contact-card p{color:var(--color-on-surface-secondary)}
.contact-details{list-style:none;padding:0;margin:var(--spacing-lg) 0 0}
.contact-details li{padding:.72rem 0;border-top:1px solid var(--color-outline)}
.contact-details span{display:block;color:var(--color-neutral);font-size:.75rem;font-weight:700;letter-spacing:.1em;text-transform:uppercase}
.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:var(--spacing-lg)}
.form-field{display:grid;gap:.45rem}
.form-field.full{grid-column:1/-1}
.form-label{font-size:.83rem;font-weight:700}
.form-control{width:100%;min-width:0;padding:.86rem 1rem;border:1px solid var(--color-outline);border-radius:var(--border-radius-md);color:var(--color-on-surface);background:white}
textarea.form-control{min-height:140px;resize:vertical}
.form-status{margin-top:1rem;padding:.8rem 1rem;border-radius:var(--border-radius-md);background:#eaf3ee;color:#153d2d;display:none}
.form-status.is-visible{display:block}

.legal-main{padding:var(--spacing-3xl) 0 var(--spacing-4xl)}
.legal-hero{padding:var(--spacing-3xl) 0;background:linear-gradient(135deg,var(--color-primary),#173529);color:white}
.legal-hero .hero-title{color:white}
.legal-hero p{max-width:70ch;color:rgba(255,255,255,.78);margin-top:1rem}
.legal-shell{display:grid;grid-template-columns:minmax(0,1fr) 280px;gap:var(--spacing-3xl);align-items:start}
.legal-content{min-width:0}
.legal-content section{padding:0 0 var(--spacing-xl);margin-bottom:var(--spacing-xl);border-bottom:1px solid var(--color-outline)}
.legal-content h2{margin-bottom:.75rem;font-size:var(--font-size-2xl)}
.legal-content h3{margin:1rem 0 .5rem;font-size:var(--font-size-xl)}
.legal-content p,.legal-content li{color:var(--color-on-surface-secondary)}
.legal-aside{position:sticky;top:104px;padding:var(--spacing-lg);border:1px solid var(--color-outline);border-radius:var(--border-radius-lg);background:var(--color-surface-tint)}
.legal-aside h2{font-size:1rem;font-family:var(--font-family-body);letter-spacing:.08em;text-transform:uppercase}
.legal-aside ul{list-style:none;padding:0;margin:.8rem 0 0}
.legal-aside li{padding:.42rem 0}
.legal-aside a{text-decoration:underline;text-decoration-color:rgba(31,77,58,.35);text-underline-offset:3px}

.legal-company{margin:0 0 var(--spacing-2xl);padding:var(--spacing-xl);border:1px solid var(--color-outline);border-radius:var(--border-radius-lg);background:#fff;box-shadow:var(--shadow-level-1)}
.legal-company h2{font-size:var(--font-size-xl)}
.legal-data{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.7rem 1.5rem;margin-top:1rem}
.legal-data div{min-width:0}
.legal-data dt{color:var(--color-neutral);font-size:.72rem;font-weight:800;letter-spacing:.1em;text-transform:uppercase}
.legal-data dd{margin:.15rem 0 0;overflow-wrap:anywhere}

.cta-section{padding:var(--spacing-3xl) 0;background:var(--color-secondary);color:white}
.cta-inner{display:flex;align-items:center;justify-content:space-between;gap:var(--spacing-xl)}
.cta-section .section-title{color:white;max-width:19ch}
.cta-section p{max-width:60ch;color:rgba(255,255,255,.77);margin:.8rem 0 0}
.cta-actions{display:flex;flex-wrap:wrap;gap:.7rem}

.site-footer{width:100%;background:#09131d;color:white}
.footer-top{padding:var(--spacing-3xl) 0 var(--spacing-2xl);display:grid;grid-template-columns:1.1fr .8fr .8fr;gap:var(--spacing-2xl)}
.footer-brand p{max-width:48ch;margin-top:1rem;color:rgba(255,255,255,.67)}
.footer-brand .brand-name{color:white}
.footer-heading{font-size:.8rem;font-family:var(--font-family-body);font-weight:800;letter-spacing:.12em;text-transform:uppercase;color:var(--color-accent)}
.footer-links{display:grid;gap:.55rem;margin-top:.8rem}
.footer-links a{color:rgba(255,255,255,.76)}
.footer-links a:hover{color:white}
.footer-legal-block{padding:var(--spacing-lg) 0;border-top:1px solid rgba(255,255,255,.12);border-bottom:1px solid rgba(255,255,255,.12)}
.footer-legal-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:var(--spacing-lg)}
.footer-legal-item span{display:block;color:rgba(255,255,255,.48);font-size:.68rem;font-weight:800;letter-spacing:.1em;text-transform:uppercase}
.footer-legal-item strong,.footer-legal-item a{display:block;margin-top:.2rem;color:rgba(255,255,255,.76);font-size:.82rem;font-weight:500;overflow-wrap:anywhere}
.footer-bottom{padding:1rem 0 1.4rem;display:flex;justify-content:space-between;gap:1rem;color:rgba(255,255,255,.5);font-size:.75rem}

.not-found{min-height:68vh;display:grid;place-items:center;text-align:center;padding:var(--spacing-4xl) 0}
.not-found strong{display:block;color:var(--color-accent);font-family:var(--font-family-heading);font-size:clamp(4rem,12vw,8rem);line-height:1}
.not-found h1{margin-top:1rem;font-size:var(--font-size-3xl)}
.not-found p{max-width:55ch;margin:1rem auto 1.5rem;color:var(--color-on-surface-secondary)}

@media (max-width: 1080px){
  .header-inner{grid-template-columns:auto 1fr auto}
  .site-nav{gap:.75rem}
  .site-nav a{font-size:.82rem}
  .header-actions .btn{display:none}
  .card-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
  .feature-list{grid-template-columns:repeat(2,minmax(0,1fr))}
}
@media (max-width: 860px){
  .header-inner{min-height:70px;grid-template-columns:1fr auto}
  .brand-tagline{display:none}
  .site-nav{position:absolute;left:1rem;right:1rem;top:calc(100% + 8px);display:none;flex-direction:column;align-items:stretch;gap:0;padding:.75rem;border:1px solid var(--color-outline);border-radius:var(--border-radius-lg);background:var(--color-surface);box-shadow:var(--shadow-level-2)}
  .site-nav.is-open{display:flex}
  .site-nav a{padding:.74rem .8rem;border-radius:var(--border-radius-md)}
  .site-nav a:hover{background:var(--color-surface-tint)}
  .site-nav a::after{display:none}
  .menu-toggle{display:inline-flex}
  .header-actions{justify-content:flex-end}
  .hero-grid{grid-template-columns:1fr}
  .hero-copy{padding:var(--spacing-4xl) 0 var(--spacing-2xl)}
  .hero-media{min-height:420px}
  .split,.contact-layout,.legal-shell{grid-template-columns:1fr}
  .split.reverse .split-media{order:0}
  .menu-grid,.steps{grid-template-columns:1fr 1fr}
  .legal-aside{position:static;order:-1}
  .footer-top{grid-template-columns:1fr 1fr}
  .footer-brand{grid-column:1/-1}
  .footer-legal-grid{grid-template-columns:1fr 1fr}
  .cta-inner{align-items:flex-start;flex-direction:column}
}
@media (max-width: 767px){
  .container{width:min(calc(100% - 1.25rem),var(--content-max-width))}
  .section{padding:var(--spacing-3xl) 0}
  .hero-section,
  .hero-title,
  .section-title {
    overflow-wrap: anywhere;
    word-break: break-word;
    white-space: normal;
  }
  .brand-name{font-size:1.02rem}
  .brand-mark{width:38px;height:38px}
  .hero-media{min-height:340px}
  .page-hero{min-height:380px}
  .card-grid,.card-grid.three,.feature-list,.menu-grid,.steps,.footer-top,.footer-legal-grid,.legal-data{grid-template-columns:1fr}
  .feature-list{gap:0}
  .form-grid{grid-template-columns:1fr}
  .form-field.full{grid-column:auto}
  .footer-brand{grid-column:auto}
  .footer-bottom{flex-direction:column}
  .quote-panel{padding:var(--spacing-xl)}
  .cta-actions,.hero-actions{width:100%}
  .cta-actions .btn,.hero-actions .btn{width:100%}
}
@media (prefers-reduced-motion: reduce){
  *,*::before,*::after{scroll-behavior:auto!important;transition:none!important;animation:none!important}
}
