.eyebrow{
      display:inline-flex;
      align-items:center;
      gap:10px;
      color:var(--forest-700);
      font-size:0.875rem;
      font-weight:800;
      letter-spacing:.13em;
      text-transform:uppercase;
    }
.eyebrow::before{
      content:"";
      width:26px;height:2px;
      background:var(--gold-500);
      border-radius:999px;
    }
.section-title{
      margin-top:13px;
      font-family:"DM Serif Display",serif;
      font-size:clamp(2.1rem,4.4vw,4rem);
      line-height:1.03;
      font-weight:400;
      color:var(--forest-950);
      text-wrap:balance;
    }
.section-intro{
      margin-top:17px;
      max-width:760px;
      color:var(--ink-700);
      font-size:clamp(.98rem,1.5vw,1.08rem);
    }
.page-hero{
      position:relative;
      min-height:610px;
      display:flex;
      align-items:center;
      color:#fff;
      isolation:isolate;
      overflow:hidden;
      background:
        radial-gradient(circle at 82% 30%,rgba(217,164,65,.14),transparent 24%),
        linear-gradient(105deg,#071b14 0%,#0b2a1f 56%,#184635 100%);
    }
.page-hero::before{
      content:"";
      position:absolute;
      z-index:-1;
      inset:0;
      opacity:.28;
      background-image:
        linear-gradient(rgba(255,255,255,.035) 1px,transparent 1px),
        linear-gradient(90deg,rgba(255,255,255,.035) 1px,transparent 1px);
      background-size:48px 48px;
      mask-image:linear-gradient(to right,transparent,black 35%,black);
    }
.page-hero::after{
      content:"";
      position:absolute;
      z-index:-1;
      right:-160px;
      bottom:-190px;
      width:470px;height:470px;
      border:1px solid rgba(255,255,255,.10);
      border-radius:50%;
      box-shadow:0 0 0 70px rgba(255,255,255,.02),0 0 0 140px rgba(255,255,255,.014);
    }
.hero-content{
      padding-top:var(--header-h);
      padding-bottom:82px;
      max-width:900px;
    }
.breadcrumbs{
      display:flex;flex-wrap:wrap;gap:8px;align-items:center;
      color:rgba(255,255,255,.58);
      font-size:1.0rem;font-weight:700;
    }
.breadcrumbs a:hover{color:var(--gold-400)}
.hero-badge{
      margin-top:25px;
      display:inline-flex;
      align-items:center;
      gap:9px;
      padding:9px 13px;
      border-radius:999px;
      border:1px solid rgba(255,255,255,.15);
      background:rgba(255,255,255,.08);
      backdrop-filter:blur(8px);
      color:rgba(255,255,255,.9);
      font-size:1.0rem;
      font-weight:800;
      letter-spacing:.055em;
      text-transform:uppercase;
    }
.hero-badge i{color:var(--gold-400)}
.page-hero h1{
      margin-top:20px;
      font-family:"DM Serif Display",serif;
      font-size:clamp(3.3rem,7.3vw,6.5rem);
      line-height:.93;
      font-weight:400;
      letter-spacing:-.025em;
      text-wrap:balance;
    }
.page-hero h1 span{color:var(--gold-400)}
.hero-copy{
      margin-top:21px;
      max-width:700px;
      color:rgba(255,255,255,.74);
      font-size:clamp(1.0rem,1.7vw,1.14rem);
    }
.contact-section{
      position:relative;
      z-index:10;
      padding:0 0 100px;
      margin-top:-46px;
    }
.contact-grid{
      display:grid;
      grid-template-columns:1fr 1fr;
      gap:16px;
    }
.contact-card{
      padding:30px;
      background:#fff;
      border:1px solid rgba(18,51,40,.08);
      border-radius:var(--radius-md);
      box-shadow:var(--shadow-md);
    }
.contact-head{
      display:flex;
      align-items:center;
      gap:15px;
    }
.contact-icon{
      flex:0 0 52px;
      width:52px;height:52px;
      display:grid;
      place-items:center;
      border-radius:15px;
      color:var(--forest-800);
      background:#e7efe3;
      font-size:1.08rem;
    }
.contact-card h2{
      color:var(--forest-950);
      font-family:"DM Serif Display",serif;
      font-size:1.9rem;
      line-height:1;
      font-weight:400;
    }
.contact-card .role{
      display:block;
      margin-top:5px;
      color:var(--ink-700);
      font-size:1.0rem;
      font-weight:700;
    }
.contact-data{
      margin-top:25px;
      display:grid;
      gap:10px;
    }
.contact-link{
      min-height:54px;
      padding:12px 14px;
      display:flex;
      align-items:center;
      gap:12px;
      border:1px solid rgba(18,51,40,.08);
      border-radius:14px;
      background:var(--cream-50);
      transition:transform .2s ease,background .2s ease,border-color .2s ease;
    }
.contact-link:hover{
      transform:translateY(-2px);
      background:#fff;
      border-color:rgba(34,96,72,.22);
    }
.contact-link i{
      width:30px;
      text-align:center;
      color:var(--forest-700);
    }
.contact-link strong{
      display:block;
      color:var(--forest-950);
      font-size:1.0rem;
    }
.contact-link span{
      display:block;
      margin-top:2px;
      color:var(--ink-700);
      font-size:1.0rem;
      overflow-wrap:anywhere;
    }
.mini-actions{
      margin-top:17px;
      display:flex;
      flex-wrap:wrap;
      gap:8px;
    }
.mini-btn{
      min-height:42px;
      padding:0 14px;
      display:inline-flex;
      align-items:center;
      justify-content:center;
      gap:8px;
      border-radius:999px;
      color:var(--forest-950);
      background:var(--gold-400);
      font-size:1.0rem;
      font-weight:900;
      transition:transform .2s ease,background .2s ease;
    }
.mini-btn:hover{transform:translateY(-2px);background:#f0c368}
.mini-btn.secondary{
      color:var(--forest-800);
      background:#e7efe3;
    }
.location-section{
      padding:100px 0;
      background:var(--cream-100);
    }
.location-grid{
      display:grid;
      grid-template-columns:.84fr 1.16fr;
      gap:30px;
      align-items:stretch;
      margin-top:38px;
    }
.address-card{
      padding:31px;
      border:1px solid rgba(18,51,40,.08);
      border-radius:var(--radius-md);
      background:#fff;
      box-shadow:var(--shadow-sm);
    }
.address-card .address-icon{
      width:50px;height:50px;
      display:grid;
      place-items:center;
      border-radius:15px;
      color:var(--forest-950);
      background:var(--gold-400);
      font-size:1.1rem;
    }
.address-card h3{
      margin-top:21px;
      font-family:"DM Serif Display",serif;
      color:var(--forest-950);
      font-size:2.0rem;
      line-height:1.04;
      font-weight:400;
    }
.address-card p{
      margin-top:13px;
      color:var(--ink-700);
      font-size:1.0rem;
    }
.address-lines{
      margin-top:20px;
      display:grid;
      gap:8px;
      color:var(--forest-900);
      font-size:1.0rem;
      font-weight:700;
    }
.address-lines div{
      display:flex;
      gap:10px;
      align-items:flex-start;
    }
.address-lines i{margin-top:4px;color:var(--forest-700)}
.maps-btn{
      margin-top:24px;
      min-height:48px;
      padding:0 17px;
      display:inline-flex;
      align-items:center;
      gap:9px;
      border-radius:13px;
      color:#fff;
      background:var(--forest-800);
      font-size:1.0rem;
      font-weight:900;
      transition:transform .2s ease,background .2s ease;
    }
.maps-btn:hover{transform:translateY(-2px);background:var(--forest-700)}
.map-wrap{
      min-height:390px;
      overflow:hidden;
      border-radius:var(--radius-md);
      border:1px solid rgba(18,51,40,.08);
      box-shadow:var(--shadow-sm);
      background:#dfe7df;
    }
.map-wrap iframe{
      width:100%;
      height:100%;
      min-height:390px;
      display:block;
      border:0;
    }
.social-section{
      padding:100px 0;
      color:#fff;
      background:var(--forest-950);
      position:relative;
      overflow:hidden;
    }
.social-section::before{
      content:"";
      position:absolute;
      width:500px;height:500px;
      right:-290px;top:-280px;
      border:1px solid rgba(255,255,255,.07);
      border-radius:50%;
    }
.social-section .eyebrow{color:var(--leaf-300)}
.social-section .section-title{color:#fff}
.social-section .section-intro{color:rgba(255,255,255,.65)}
.social-grid{
      margin-top:38px;
      display:grid;
      grid-template-columns:1fr 1fr;
      gap:15px;
    }
.social-card{
      min-height:185px;
      padding:27px;
      display:flex;
      align-items:flex-end;
      justify-content:space-between;
      gap:22px;
      border:1px solid rgba(255,255,255,.11);
      border-radius:22px;
      background:rgba(255,255,255,.055);
      backdrop-filter:blur(7px);
      transition:transform .2s ease,background .2s ease;
    }
.social-card:hover{
      transform:translateY(-4px);
      background:rgba(255,255,255,.085);
    }
.social-icon{
      width:52px;height:52px;
      display:grid;
      place-items:center;
      border-radius:15px;
      color:var(--forest-950);
      background:var(--gold-400);
      font-size:1.25rem;
    }
.social-card h3{
      margin-top:18px;
      font-family:"DM Serif Display",serif;
      font-size:1.8rem;
      line-height:1;
      font-weight:400;
    }
.social-card p{
      margin-top:7px;
      color:rgba(255,255,255,.62);
      font-size:1.0rem;
    }
.social-arrow{
      flex:0 0 42px;
      width:42px;height:42px;
      display:grid;
      place-items:center;
      border-radius:50%;
      color:var(--gold-400);
      background:rgba(255,255,255,.07);
    }
.help-section{padding:90px 0}
.help-card{
      padding:38px;
      display:grid;
      grid-template-columns:auto 1fr;
      gap:22px;
      align-items:start;
      border:1px solid rgba(18,51,40,.08);
      border-radius:var(--radius-lg);
      background:#fff;
      box-shadow:var(--shadow-sm);
    }
.help-icon{
      width:55px;height:55px;
      display:grid;
      place-items:center;
      border-radius:16px;
      color:var(--forest-800);
      background:#e7efe3;
      font-size:1.15rem;
    }
.help-card h2{
      font-family:"DM Serif Display",serif;
      color:var(--forest-950);
      font-size:2.0rem;
      line-height:1.06;
      font-weight:400;
    }
.help-card p{
      margin-top:9px;
      max-width:780px;
      color:var(--ink-700);
      font-size:1.0rem;
    }
[data-reveal]{
      opacity:0;
      transform:translateY(22px);
      transition:opacity .6s ease,transform .6s ease;
    }
[data-reveal].revealed{opacity:1;transform:none}
@media (min-width:721px){
.page-hero{
        padding-bottom:24px;
      }
}
@media(max-width:1000px){
.location-grid{grid-template-columns:1fr}
}
@media(max-width:720px){
.page-hero{
        min-height:555px;
        align-items:flex-end;
        padding:115px 0 95px;
      }
.hero-content{
        padding-top:0;
        padding-bottom:32px;
      }
.page-hero h1{font-size:clamp(3.3rem,15vw,4.9rem)}
.hero-copy{font-size:1.0rem}
.contact-section{margin-top:-26px;padding-bottom:80px}
.contact-grid{grid-template-columns:1fr}
.contact-card{padding:25px}
.mini-actions{display:grid;grid-template-columns:1fr 1fr}
.mini-btn{width:100%}
.location-section,.social-section{padding:80px 0}
.map-wrap,.map-wrap iframe{min-height:330px}
.social-grid{grid-template-columns:1fr}
.help-section{padding:75px 0}
.help-card{grid-template-columns:1fr;padding:27px}
}
@media(max-width:430px){
.mini-actions{grid-template-columns:1fr}
}
@media(prefers-reduced-motion:reduce){
*,*::before,*::after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}
[data-reveal]{opacity:1;transform:none}
}