:root{--pine:#103f34;--deep:#0d3029;--leaf:#17654f;--cream:#f9faf5;--sand:#edf2e9;--gold:#d8e9a2;--ink:#19352b;--muted:#4d6258;--serif:"Instrument Serif",Georgia,serif;--sans:"DM Sans",system-ui,sans-serif}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{margin:0;background:var(--cream);color:var(--ink);font:16px/1.6 var(--sans)}
a{color:inherit}
img{display:block;width:100%;object-fit:cover}
figure,p,dl{margin:0}
h1,h2,h3{font-family:var(--serif);font-weight:400;line-height:.99;margin:0}
h2{font-size:clamp(3rem,6vw,5.5rem)}
h3{font-size:2.55rem}
.wrap{width:min(100% - 72px,1240px);margin-inline:auto}
.skip{position:fixed;left:1rem;top:-10rem;background:white;color:var(--deep);z-index:10;padding:.6rem 1rem}
.skip:focus{top:1rem}
:focus-visible{outline:3px solid #b27117;outline-offset:4px}
.header{background:var(--cream);position:relative;z-index:2}
.nav,.footer,.nav nav,.brand,.actions,.button{display:flex;align-items:center}
.nav{min-height:88px;justify-content:space-between;gap:2rem}
.nav nav{gap:clamp(.9rem,2.4vw,2rem);font-size:.9rem;font-weight:700}
.nav a,.brand,.button,.footer a{text-decoration:none}
.nav nav>a:not(.button):hover,.footer a:hover{text-decoration:underline}
.brand{flex:none;line-height:0}
.brand img{width:132px;height:auto;object-fit:contain}
.portal{color:var(--leaf)}
.portal span{margin-left:.2rem}
.menu{display:none}
.button{width:fit-content;min-height:46px;justify-content:center;gap:1.2rem;padding:.72rem 1.2rem;border:1px solid transparent;border-radius:3px;font:700 .88rem/1.3 var(--sans);cursor:pointer;transition:background .18s,color .18s}
.outline{background:var(--pine);color:white;border-color:var(--pine)}
.outline:hover{background:#1b5948}
.gold{background:var(--gold);color:var(--deep)}
.gold:hover{background:#e5f2bd}
.glass{border-color:#ffffff90;color:white;background:#18382745}
.glass:hover{background:#ffffff26}
.hero{position:relative;isolation:isolate;background:var(--deep);color:#fff;min-height:600px;display:flex;align-items:center;overflow:hidden}
.hero-image{position:absolute;inset:0 0 0 auto;width:48%;height:100%;z-index:-1;object-position:48% center}
.hero::after{content:"";position:absolute;inset:0;z-index:-1;background:linear-gradient(90deg,var(--deep) 44%,transparent 62%);pointer-events:none}
.hero-inner{padding-block:86px}
.eyebrow{font-size:.72rem;font-weight:700;letter-spacing:.2em;color:var(--leaf);margin-bottom:1.1rem}
.hero .eyebrow,.inquiry .eyebrow{color:var(--gold)}
.eyebrow span{display:inline-block;width:24px;height:1px;background:currentColor;vertical-align:middle;margin-right:.7rem}
h1{font-size:clamp(3.75rem,7.15vw,7rem);letter-spacing:-.034em}
h1 em{color:var(--gold)}
.hero-copy{max-width:470px;margin:1.55rem 0 1.8rem;color:#f0f3e9;font-size:1.08rem}
.actions{gap:.75rem;flex-wrap:wrap}
.band{background:#e7eee4}
.band-inner{display:grid;grid-template-columns:1fr 1fr 1.35fr}
.band span{padding:1.2rem 1.3rem;color:var(--muted);font-size:.67rem;font-weight:700;letter-spacing:.12em}
.band span:first-child{padding-left:0}
.band span+span{border-left:1px solid #c7c8b7}
.band strong{display:block;color:var(--ink);font-size:1rem;letter-spacing:0}
.section{padding-block:clamp(4rem,8vw,7rem)}
.section-head,.split,.about{display:grid;grid-template-columns:1fr 1fr;gap:clamp(2rem,6vw,6rem);align-items:start}
.section-head{align-items:end;margin-bottom:2.4rem}
.section-head>p{max-width:380px;justify-self:end;color:var(--muted)}
.cards{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:1.25rem}
.card{background:#fff;border:1px solid #dce5db;border-radius:8px;overflow:hidden;display:flex;flex-direction:column}
.card img{aspect-ratio:1.55;object-position:center}
.card>div{padding:1.45rem;flex:1;display:flex;flex-direction:column}
.card p{margin:.75rem 0 1.3rem;color:var(--muted);flex:1}
.card a,.other a{font-weight:700;text-underline-offset:.23em}
.card a:hover,.other a:hover{color:#067453}
.card a span{margin-left:.4rem}
.other{margin-top:1.4rem;color:var(--muted)}
.operations{background:var(--sand)}
.facility{align-items:center;gap:clamp(2rem,4vw,4.75rem)}
.facility h2{font-size:clamp(3rem,5vw,4.8rem)}
.facility-intro{color:var(--muted);margin-top:1.1rem}
.licence{margin-top:1.3rem;padding:1rem 1.15rem;border-left:3px solid var(--leaf);background:#f9faf5}
.licence h3{font:700 .94rem/1.4 var(--sans);margin-bottom:.25rem}
.licence p{color:var(--muted);font-size:.9rem}
.facility-media{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:clamp(.65rem,1.5vw,1.25rem)}
.facility-media img,.facility-media video{display:block;width:100%;height:auto;aspect-ratio:9/16;border-radius:8px;object-fit:cover;background:var(--deep)}
.facility-media video{object-fit:contain}
figcaption{font-size:.8rem;color:var(--muted);margin-top:.6rem}
.services{margin-top:1.5rem}
.services div{border-top:1px solid #c9caba;padding:.72rem 0}
.services dt{font-weight:700}
.services dd{margin:0;color:var(--muted)}
.about p:not(.eyebrow){margin-bottom:.85rem}
.company-details{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:1.25rem;margin-top:2.5rem}
.company-details article{padding:1.4rem;border:1px solid #dce5db;border-top:3px solid var(--leaf);background:#fff;border-radius:4px}
.company-details h3,.development h3{font-size:2.15rem}
.company-details p,.development p{margin-top:.65rem;color:var(--muted)}
.development{display:flex;align-items:center;justify-content:space-between;gap:1.5rem;margin-top:1.25rem;padding:clamp(1.4rem,4vw,2.25rem);background:var(--sand);border-radius:4px}
.development p{max-width:650px}
.development .button{flex:none}
.registration{font-weight:700;color:var(--leaf);font-size:.9rem}
.inquiry{background:var(--pine);color:#f6f5e9}
.inquiry h2+p{margin-top:1.2rem}
address{display:grid;gap:.45rem;font-style:normal;margin-top:1.8rem}
address span{margin-top:.5rem;color:#e1e7db}
form{background:#1c4e40;border:1px solid #447262;border-radius:8px;padding:clamp(1rem,3vw,2rem);display:grid;gap:.85rem}
.fields{display:grid;grid-template-columns:1fr 1fr;gap:.85rem}
label{display:grid;gap:.3rem;font-size:.87rem;font-weight:700;min-width:0}
input,select,textarea{width:100%;min-width:0;border:1px solid #93a494;border-radius:2px;background:#faf8ef;color:var(--ink);padding:.65rem;font:400 1rem var(--sans)}
textarea{resize:vertical}
.form-note,.fallback{font-size:.83rem;color:#e1e7db}
footer{background:var(--deep);color:#e1e7db}
.footer .brand{background:var(--cream);padding:3px 9px;border-radius:4px}
.footer .brand img{width:98px}
.footer{padding-block:1.6rem;justify-content:space-between;gap:1rem;flex-wrap:wrap;font-size:.85rem}
@media(max-width:850px){
.wrap{width:calc(100% - 36px)}
.nav{min-height:68px}
.menu{display:block;background:transparent;border:1px solid #9aa79b;border-radius:3px;padding:.55rem .8rem;color:var(--deep);font:700 .9rem var(--sans)}
.nav nav{display:none;position:absolute;inset:100% 0 auto;background:var(--cream);padding:1.1rem 18px;align-items:flex-start;flex-direction:column;box-shadow:0 8px 18px #102a1d20}
.menu[aria-expanded=true]+nav{display:flex}
.hero{display:flex;min-height:0;flex-direction:column;align-items:stretch}
.hero::after{display:none}
.hero-image{position:static;order:1;width:100%;height:clamp(240px,56vw,420px);object-position:50% 51%}
.hero-inner{padding-block:56px}
.brand img{width:110px}
.band-inner{grid-template-columns:1fr 1fr}
.band span{padding:.85rem}
.band span:last-child{grid-column:1/-1;border-left:0;border-top:1px solid #c7c8b7;padding-left:0}
.section-head,.split,.about,.cards,.company-details{grid-template-columns:1fr}
.development{flex-direction:column;align-items:flex-start}
.section-head>p{justify-self:start}
.facility-media{width:min(100%,560px)}
}
@media(max-width:390px){.fields{grid-template-columns:1fr}h1{font-size:clamp(3.1rem,13.6vw,3.65rem)}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*{transition:none!important}}
