@import url('https://fonts.googleapis.com/css2?family=DM+Sans:wght@400;500;600&family=Libre+Caslon+Display&display=swap');
:root{--chalk:#f6f7f0;--paper:#eef0e4;--ink:#173a2a;--moss:#315c43;--leaf:#768f60;--lime:#cfe29a;--blue:#171d58;--white:#fffef8;--line:rgba(23,58,42,.17);--serif:"Libre Caslon Display",Georgia,serif;--sans:"DM Sans",system-ui,sans-serif;--max:1400px}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;color:var(--ink);background:var(--chalk);font-family:var(--sans);line-height:1.55;-webkit-font-smoothing:antialiased}img{display:block;width:100%}a{color:inherit}button,a{-webkit-tap-highlight-color:transparent}:focus-visible{outline:3px solid var(--lime);outline-offset:4px}
.announcement{min-height:38px;display:flex;align-items:center;justify-content:center;gap:10px;padding:7px 20px;color:var(--white);background:var(--ink);font-size:11px;letter-spacing:.08em;text-align:center;text-transform:uppercase}.announcement a{text-underline-offset:3px}
.site-header{position:sticky;z-index:20;top:0;width:100%;height:92px;display:grid;grid-template-columns:1fr auto 1fr;align-items:center;margin:0;padding:0 clamp(22px,4vw,64px);border:0;border-bottom:1px solid var(--line);border-radius:0;background:rgba(246,247,240,.96);box-shadow:0 8px 24px rgba(23,58,42,.07);backdrop-filter:blur(14px)}
.mobile-nav{display:none}.nav{display:flex;align-items:center;gap:clamp(24px,2.7vw,44px)}.nav a{position:relative;min-height:46px;display:inline-flex;align-items:center;padding:0 2px;font-size:14px;font-weight:600;letter-spacing:.045em;text-decoration:none;text-transform:uppercase}.nav a.active{color:var(--leaf)}.nav a::after{content:"";position:absolute;left:0;right:0;bottom:6px;width:0;height:3px;border-radius:3px;background:currentColor;transition:width .25s ease}.nav a:hover::after,.nav a.active::after{width:100%}.brand{display:inline-flex;align-items:center;justify-content:center;gap:12px;text-decoration:none}.brand img{width:64px}.brand-copy{display:grid;line-height:1}.brand-copy strong{font:25px/1 var(--serif)}.brand-copy span{margin-top:6px;font-size:9px;letter-spacing:.19em;text-transform:uppercase}.header-actions{justify-self:end}.menu-toggle{display:none;width:48px;height:48px;padding:0;border:0;border-radius:0;background:transparent;color:var(--ink);cursor:pointer;box-shadow:none;transition:opacity .2s ease}.menu-toggle:hover{opacity:.65}.menu-toggle-icon{position:relative;width:21px;height:15px;display:block;margin:auto}.menu-toggle-icon span{position:absolute;left:0;width:100%;height:2px;border-radius:2px;background:currentColor;transition:top .25s ease,transform .25s ease,opacity .2s ease}.menu-toggle-icon span:nth-child(1){top:0}.menu-toggle-icon span:nth-child(2){top:6.5px}.menu-toggle-icon span:nth-child(3){top:13px}.menu-toggle[aria-expanded="true"] .menu-toggle-icon span:nth-child(1){top:6.5px;transform:rotate(45deg)}.menu-toggle[aria-expanded="true"] .menu-toggle-icon span:nth-child(2){opacity:0}.menu-toggle[aria-expanded="true"] .menu-toggle-icon span:nth-child(3){top:6.5px;transform:rotate(-45deg)}
.btn{min-height:48px;display:inline-flex;align-items:center;justify-content:center;gap:10px;padding:0 22px;border:1px solid var(--ink);border-radius:999px;color:var(--white);background:var(--ink);font-size:11px;font-weight:600;letter-spacing:.075em;text-decoration:none;text-transform:uppercase;transition:transform .2s,color .2s,background .2s}.btn:hover{transform:translateY(-2px);background:var(--moss)}.btn--ghost{color:var(--ink);background:transparent}.btn--ghost:hover{color:var(--white);background:var(--ink)}.btn--light{color:var(--ink);border-color:var(--white);background:var(--white)}
.page-hero{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,.82fr);min-height:670px;border-bottom:1px solid var(--line)}.page-hero-copy{position:relative;display:flex;flex-direction:column;justify-content:center;overflow:hidden;padding:clamp(65px,8vw,125px)}.page-hero-copy::after{content:attr(data-mark);position:absolute;right:-25px;bottom:-75px;color:rgba(49,92,67,.055);font:260px/1 var(--serif);pointer-events:none}.eyebrow{display:flex;align-items:center;gap:12px;margin:0 0 28px;color:var(--moss);font-size:10px;font-weight:600;letter-spacing:.17em;text-transform:uppercase}.eyebrow::before{content:"";width:35px;height:1px;background:currentColor}h1,h2,h3,p{margin-top:0}h1{max-width:820px;margin:0 0 30px;font:clamp(68px,8vw,132px)/.9 var(--serif);letter-spacing:-.055em}h1 em{color:var(--leaf);font-style:normal}.hero-intro{max-width:620px;margin-bottom:38px;color:rgba(23,58,42,.78);font-size:clamp(17px,1.3vw,21px)}.page-hero-image{position:relative;min-height:570px;overflow:hidden;background:var(--paper)}.page-hero-image img{height:100%;object-fit:cover;filter:saturate(.88) brightness(1.04)}.image-note{position:absolute;right:28px;bottom:28px;max-width:230px;padding:14px 18px;color:var(--white);background:rgba(23,58,42,.88);font:17px/1.25 var(--serif)}
.section{padding:clamp(80px,9vw,140px) clamp(24px,6vw,96px)}.section-inner{max-width:var(--max);margin:auto}.section--paper{background:var(--paper)}.section--ink{color:var(--white);background:var(--ink)}.section--lime{background:var(--lime)}.section-heading{display:grid;grid-template-columns:.65fr 1.35fr;gap:50px;align-items:start;margin-bottom:60px}.section-heading h2{max-width:900px;margin:0;font:clamp(48px,5.8vw,92px)/.95 var(--serif);letter-spacing:-.045em}.section-heading p{max-width:610px;color:rgba(23,58,42,.72);font-size:18px}.section--ink .eyebrow{color:var(--lime)}.section--ink .section-heading p{color:rgba(255,255,248,.7)}
.subnav{position:sticky;top:0;z-index:10;display:flex;gap:8px;overflow-x:auto;padding:16px clamp(24px,6vw,96px);border-bottom:1px solid var(--line);background:rgba(246,247,240,.96);backdrop-filter:blur(12px);scrollbar-width:none}.subnav::-webkit-scrollbar{display:none}.subnav a{flex:0 0 auto;padding:10px 16px;border:1px solid var(--line);border-radius:999px;font-size:10px;font-weight:600;letter-spacing:.1em;text-decoration:none;text-transform:uppercase}.subnav a:hover{color:var(--white);background:var(--ink)}
.menu-block{scroll-margin-top:80px;padding:clamp(70px,8vw,120px) 0;border-top:1px solid var(--line)}.menu-block:first-child{padding-top:0;border-top:0}.menu-intro{display:grid;grid-template-columns:.58fr 1.42fr;gap:50px;margin-bottom:48px}.menu-intro h2{margin:0;font:clamp(46px,5vw,78px)/.95 var(--serif);letter-spacing:-.04em}.menu-intro p{max-width:650px;color:rgba(23,58,42,.7)}.menu-category{display:grid;grid-template-columns:.58fr 1.42fr;gap:50px;padding:32px 0;border-top:1px solid var(--line)}.menu-category>*{min-width:0}.menu-category h3{margin:0;font:30px/1.1 var(--serif)}.menu-items{display:grid}.menu-item{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:24px;padding:14px 0;border-bottom:1px solid rgba(23,58,42,.1)}.menu-item:last-child{border-bottom:0}.menu-item strong{font-weight:500}.menu-item small{display:block;max-width:760px;margin-top:4px;color:rgba(23,58,42,.62);font-size:12px}.price{white-space:nowrap;font:21px/1.3 var(--serif)}.legend{margin-top:35px;padding:24px;border:1px solid var(--line);font-size:12px;color:rgba(23,58,42,.68)}.pdf-link{margin-top:26px}
.feature-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}.feature-card{min-height:260px;padding:38px;border:1px solid var(--line);background:var(--white);transition:transform .3s ease,box-shadow .3s ease,border-color .3s ease}.feature-card:hover{transform:translateY(-5px);border-color:rgba(23,58,42,.3);box-shadow:0 18px 45px rgba(23,58,42,.08)}.feature-card h3{margin:20px 0 12px;font:34px/1 var(--serif)}.feature-card p{color:rgba(23,58,42,.7)}.feature-card .label{font-size:10px;font-weight:600;letter-spacing:.14em;text-transform:uppercase;color:var(--leaf)}
.split{display:grid;grid-template-columns:1fr 1fr}.split-image{min-height:650px}.split-image img{height:100%;object-fit:cover;filter:saturate(.86) brightness(1.04)}.split-copy{display:flex;flex-direction:column;justify-content:center;padding:clamp(65px,8vw,125px);background:var(--paper)}.split-copy h2{font:clamp(48px,5vw,82px)/.96 var(--serif);letter-spacing:-.04em}.fact-list{margin:30px 0;border-top:1px solid var(--line)}.fact-row{display:grid;grid-template-columns:140px 1fr;gap:25px;padding:17px 0;border-bottom:1px solid var(--line)}.fact-row strong{font-size:10px;letter-spacing:.12em;text-transform:uppercase}.fact-row span{color:rgba(23,58,42,.72)}
.gallery{display:grid;grid-template-columns:1.2fr .8fr .8fr;gap:16px}.gallery img{height:460px;object-fit:cover;filter:saturate(.86) brightness(1.04);transition:transform .65s cubic-bezier(.2,.65,.3,1),filter .4s ease}.gallery img:hover{transform:scale(1.018);filter:saturate(.94) brightness(1.05)}
.contact-grid{display:grid;grid-template-columns:1fr 1fr;gap:18px}.contact-card{min-height:420px;padding:clamp(42px,5vw,74px);background:var(--white);border:1px solid var(--line)}.contact-card--dark{color:var(--white);background:var(--ink)}.contact-card h2{margin-bottom:30px;font:clamp(42px,4.5vw,68px)/1 var(--serif)}.contact-card a{text-underline-offset:4px}.contact-actions{display:flex;flex-wrap:wrap;gap:12px;margin-top:34px}.route-panel{display:grid;grid-template-columns:.85fr 1.15fr;background:var(--lime)}.route-copy{padding:clamp(55px,7vw,100px)}.route-copy h2{font:clamp(44px,4.8vw,76px)/.98 var(--serif)}.route-image{min-height:480px}.route-image img{height:100%;object-fit:cover}
.cta{display:grid;grid-template-columns:1fr auto;gap:40px;align-items:center;padding:clamp(60px,7vw,100px) clamp(24px,6vw,96px);color:var(--white);background:var(--moss)}.cta h2{max-width:920px;margin:0;font:clamp(46px,5vw,78px)/.98 var(--serif)}.cta-actions{display:flex;gap:12px;flex-wrap:wrap}
footer{padding:42px clamp(24px,6vw,96px);color:rgba(255,255,248,.72);background:#0d281c}.footer-inner{max-width:var(--max);margin:auto;display:flex;align-items:center;justify-content:space-between;gap:32px;font-size:12px}.footer-brand{display:flex;align-items:center;gap:14px;text-decoration:none}.footer-brand img{width:58px;height:auto}.footer-brand-copy{display:grid;gap:4px}.footer-brand-copy strong{color:var(--white);font:21px/1 var(--serif)}.footer-brand-copy span{font-size:9px;letter-spacing:.15em;text-transform:uppercase}.footer-right{display:flex;align-items:center;gap:28px}.social-icons{display:flex;gap:9px}.social-icon{width:40px;height:40px;display:grid;place-items:center;border-radius:50%;color:#0d281c;background:#c6ccc7;text-decoration:none;transition:transform .25s ease,background .25s ease,color .25s ease,box-shadow .25s ease}.social-icon svg{width:17px;height:17px;fill:currentColor}.social-icon:hover{transform:translateY(-4px) scale(1.04);color:var(--ink);background:var(--lime);box-shadow:0 8px 20px rgba(0,0,0,.24)}.footer-links{display:flex;gap:20px}.footer-links a{text-decoration:none;transition:color .2s ease}.footer-links a:hover{color:var(--white)}.reveal{opacity:0;transform:translateY(20px);transition:opacity .75s,transform .75s}.reveal.visible{opacity:1;transform:none}body.screenshot-mode .reveal{opacity:1!important;transform:none!important;transition:none!important}
@media(max-width:1050px){.site-header{top:0;width:100%;height:82px;grid-template-columns:1fr auto 1fr;margin:0;padding:0 18px;border-radius:0}.nav{display:none}.menu-toggle{display:grid;grid-column:1;grid-row:1;place-items:center;justify-self:start}.brand{grid-column:2;grid-row:1;justify-self:center}.brand-copy{display:none}.header-actions{grid-column:3;grid-row:1;justify-self:end}.mobile-nav{position:fixed;z-index:30;left:12px;right:12px;top:92px;display:grid;gap:4px;padding:14px;border:1px solid rgba(23,58,42,.18);border-radius:16px;background:rgba(246,247,240,.98);box-shadow:0 22px 55px rgba(23,58,42,.2);backdrop-filter:blur(18px);opacity:0;visibility:hidden;transform:translateY(-10px);transition:opacity .25s ease,transform .25s ease,visibility 0s linear .25s}.mobile-nav.open{opacity:1;visibility:visible;transform:none;transition-delay:0s}.mobile-nav a{position:relative;min-height:58px;display:flex;align-items:center;padding:0 18px;border-bottom:1px solid var(--line);font-size:15px;font-weight:600;letter-spacing:.055em;text-decoration:none;text-transform:uppercase}.mobile-nav a.active{color:var(--leaf)}.mobile-nav a.active::after{content:"";position:absolute;left:18px;bottom:8px;width:34px;height:3px;border-radius:3px;background:currentColor}.mobile-nav a:last-child{border-bottom:0}.page-hero,.split,.route-panel{grid-template-columns:1fr}.page-hero-copy{min-height:570px}.page-hero-image{min-height:600px}.section-heading,.menu-intro,.menu-category{grid-template-columns:1fr}.feature-grid{grid-template-columns:1fr 1fr}.gallery{grid-template-columns:1fr 1fr}.gallery img:first-child{grid-column:1/-1}.contact-grid{grid-template-columns:1fr}.cta{grid-template-columns:1fr}.route-image{min-height:440px}}
@media(max-width:680px){.announcement{font-size:9px}.site-header{height:76px;padding:0 14px;border-radius:0}.brand img{width:52px}.menu-toggle{width:44px;height:44px}.header-actions .btn{min-width:44px;padding:0 14px;font-size:0}.header-actions .btn::after{content:"Call";font-size:11px}.page-hero-copy{min-height:520px;padding:70px 24px}.page-hero-image{min-height:430px}.section{padding-left:24px;padding-right:24px}.subnav{padding-left:24px;padding-right:24px}.feature-grid,.gallery{grid-template-columns:1fr}.gallery img,.gallery img:first-child{grid-column:auto;height:360px}.menu-item{gap:14px}.split-copy,.route-copy{padding:70px 24px}.split-image{min-height:430px}.fact-row{grid-template-columns:1fr;gap:5px}.contact-card{min-height:auto;padding:55px 28px}.cta{padding-left:24px;padding-right:24px}.footer-inner,.footer-right{align-items:flex-start;flex-direction:column}.footer-right{gap:18px}}
@media(prefers-reduced-motion:reduce){*,*::before,*::after{scroll-behavior:auto!important;transition-duration:.01ms!important;animation-duration:.01ms!important}.reveal{opacity:1;transform:none}}
