:root{
  --night:#1b2a3a; --night-deep:#121d29; --lamp:#f0b94d; --lamp-soft:#f7dfa8;
  --paper:#f6f4ef; --ink:#17222d; --sage:#4d6f62; --line:#d9d6cd;
  --serif:Georgia,"Iowan Old Style","Palatino Linotype",Palatino,serif;
  --sans:system-ui,-apple-system,"Segoe UI",Roboto,Helvetica,Arial,sans-serif;
}
*{box-sizing:border-box}
html{-webkit-text-size-adjust:100%}
body{margin:0;font-family:var(--sans);color:var(--ink);background:var(--paper);line-height:1.6}
a{color:inherit}
:focus-visible{outline:3px solid var(--lamp);outline-offset:3px}
.skip{position:absolute;left:-999px}
.skip:focus{left:1rem;top:1rem;background:var(--lamp);color:var(--ink);padding:.5rem 1rem;z-index:10}

/* Header */
.site-header{background:var(--night-deep);color:#fff}
.bar{max-width:72rem;margin:0 auto;padding:1rem 1.5rem;display:flex;align-items:center;justify-content:space-between;gap:1.5rem;flex-wrap:wrap}
.brand{font-family:var(--serif);font-size:1.5rem;text-decoration:none;display:flex;align-items:center;gap:.6rem}
.brand svg{width:1.6rem;height:1.6rem}
.nav{display:flex;align-items:center;gap:1.75rem;flex-wrap:wrap}
.nav a{text-decoration:none;padding:.25rem 0;border-bottom:2px solid transparent}
.nav a:hover,.nav a[aria-current="page"]{border-bottom-color:var(--lamp)}
.nav a.btn{border:0;padding:.55rem 1.1rem}

/* Buttons */
.btn{display:inline-block;background:var(--lamp);color:var(--ink);font-weight:600;text-decoration:none;padding:.8rem 1.5rem;border-radius:2rem}
.btn:hover{background:var(--lamp-soft)}

/* Hero */
.hero{background:radial-gradient(ellipse at 50% 38%,#2c4258 0%,var(--night) 45%,var(--night-deep) 100%);color:#fff;overflow:hidden;text-align:center}
.hero-inner{max-width:60rem;margin:0 auto;padding:2.5rem 1.5rem 5rem}
.hero-art{width:100%;max-width:34rem;height:auto;display:block;margin:0 auto 1rem}
.hero h1{font-family:var(--serif);font-weight:400;font-size:clamp(2.4rem,6vw,4rem);line-height:1.1;margin:0 auto 1.25rem;max-width:20ch}
.hero p{font-family:var(--serif);font-size:1.25rem;line-height:1.7;max-width:36rem;margin:0 auto 2rem;color:#e8ebef}
.hero-actions{display:flex;gap:1rem;justify-content:center;flex-wrap:wrap}
.btn.ghost{background:transparent;color:#fff;border:2px solid var(--lamp)}
.btn.ghost:hover{background:rgba(240,185,77,.15)}
.glow{animation:warm 2.8s ease-out both}
@keyframes warm{from{opacity:0}to{opacity:1}}

/* Mission */
.mission{max-width:72rem;margin:0 auto;padding:5rem 1.5rem 3rem;display:grid;grid-template-columns:1fr 2fr;gap:3rem}
.mission h2{font-family:var(--serif);font-weight:400;font-size:2.25rem;line-height:1.15;margin:0}
.mission p{font-family:var(--serif);font-size:1.2rem;line-height:1.8;margin:0 0 1.25rem;max-width:42rem}

.scene{display:block;width:100%;height:auto;margin-top:1.75rem}

/* What we offer */
.offer{background:var(--night);color:#fff}
.offer-inner{max-width:72rem;margin:0 auto;padding:4rem 1.5rem}
.offer h2{font-family:var(--serif);font-weight:400;font-size:2rem;margin:0 0 2rem}
.offer ul{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(4,1fr);gap:1.5rem}
.offer li{border-top:3px solid var(--lamp);padding-top:1rem;font-family:var(--serif);font-size:1.4rem}

/* Explore */
.explore{max-width:72rem;margin:0 auto;padding:4.5rem 1.5rem 4rem}
.explore h2{font-family:var(--serif);font-weight:400;font-size:2rem;margin:0 0 .75rem}
.explore p{font-family:var(--serif);font-size:1.15rem;line-height:1.7;max-width:36rem;margin:0 0 2.5rem}
.paths{display:grid;grid-template-columns:repeat(3,1fr);gap:1.25rem}
.path{display:flex;justify-content:space-between;align-items:center;padding:1.5rem 1.5rem;border:2px solid var(--line);border-radius:.75rem;background:#fff;text-decoration:none;font-family:var(--serif);font-size:1.35rem}
.path span{font-family:var(--sans);font-size:1.4rem;color:var(--sage);transition:transform .2s}
.path:hover{border-color:var(--sage)}
.path:hover span{transform:translateX(6px)}


/* Inner pages */
.page-hero{background:radial-gradient(ellipse at 50% 0%,#2c4258 0%,var(--night) 50%,var(--night-deep) 100%);color:#fff;text-align:center;padding:4rem 1.5rem}
.page-hero h1{font-family:var(--serif);font-weight:400;font-size:clamp(2.25rem,5vw,3.5rem);margin:0}
.band{background:#fff;border-top:1px solid var(--line);border-bottom:1px solid var(--line)}
.split{max-width:72rem;margin:0 auto;padding:4.5rem 1.5rem;display:grid;grid-template-columns:1.2fr 1fr;gap:3.5rem;align-items:center}
.split.flip{grid-template-columns:1fr 1.2fr}
.split.flip .art{order:-1}
.split h2{font-family:var(--serif);font-weight:400;font-size:2.1rem;margin:0 0 1.25rem}
.split p{font-family:var(--serif);font-size:1.15rem;line-height:1.8;margin:0 0 1.25rem;max-width:40rem}
.art{display:block;width:100%;height:auto}
.team{max-width:72rem;margin:0 auto;padding:4rem 1.5rem}
.team h2{font-family:var(--serif);font-weight:400;font-size:2rem;margin:0 0 2rem}
.people{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(auto-fit,minmax(11rem,1fr));gap:2rem}
.people.lead{grid-template-columns:repeat(2,minmax(0,16rem))}
.person h3{font-family:var(--serif);font-weight:400;font-size:1.25rem;margin:.9rem 0 .1rem}
.person p{margin:0;color:var(--sage);font-weight:600}
.av{display:block;width:100%;height:auto;aspect-ratio:1;border-radius:.75rem}
.verse{background:var(--night);color:#fff;padding:4.5rem 1.5rem;text-align:center}
.verse blockquote{max-width:40rem;margin:0 auto}
.verse p{font-family:var(--serif);font-size:1.6rem;line-height:1.5;margin:0 0 1rem}
.verse cite{color:var(--lamp);font-style:normal}
.details{margin:0}
.details dt{font-weight:600;color:var(--sage);margin-top:1.5rem}
.details dd{margin:.25rem 0 0;font-family:var(--serif);font-size:1.4rem;line-height:1.5}
.details a{text-decoration:underline;text-decoration-color:var(--lamp);text-underline-offset:4px}

.btn.big{font-size:1.15rem;padding:1rem 2.25rem}
.nav a.btn[aria-current="page"]{border-bottom:0;background:var(--lamp-soft)}

/* Contact form */
.message{max-width:72rem;margin:0 auto;padding:4.5rem 1.5rem}
.message h2{font-family:var(--serif);font-weight:400;font-size:2.1rem;margin:0 0 .75rem}
.message>p{font-family:var(--serif);font-size:1.15rem;line-height:1.7;max-width:36rem;margin:0 0 2rem}
.form{display:grid;grid-template-columns:repeat(3,1fr);gap:1.25rem 1.5rem;max-width:56rem}
.field.wide{grid-column:1/-1}
.field label{display:block;font-weight:600;color:var(--sage);margin-bottom:.4rem}
.field .opt{font-weight:400;color:#6b7680}
.field input,.field textarea{width:100%;font:inherit;font-size:1.05rem;color:var(--ink);background:var(--paper);border:2px solid var(--line);border-radius:.5rem;padding:.7rem .85rem}
.field textarea{resize:vertical;min-height:9rem}
.field input:focus,.field textarea:focus{border-color:var(--sage);outline:none}
.form .btn{border:0;font:inherit;font-weight:600;cursor:pointer}
.form .btn:disabled{opacity:.6;cursor:wait}
.form-status{margin:.9rem 0 0;font-family:var(--serif);font-size:1.1rem}
.form-status:empty{display:none}
.hp{position:absolute;left:-9999px}

/* Footer */
.site-footer{background:var(--night-deep);color:#cfd5dc;font-size:.95rem}
.foot{max-width:72rem;margin:0 auto;padding:1.75rem 1.5rem;display:flex;justify-content:center;gap:1rem;flex-wrap:wrap}
.foot a{color:var(--lamp-soft)}

@media (max-width:52rem){
  .mission{grid-template-columns:1fr;gap:1.25rem;padding-top:3rem}
  .offer ul{grid-template-columns:1fr 1fr}
  .split,.split.flip{grid-template-columns:1fr;gap:2rem;padding:3rem 1.5rem}
  .split.flip .art{order:0}
  .people.lead{grid-template-columns:repeat(2,1fr)}
  .paths{grid-template-columns:1fr}
  .explore{padding-top:3rem}
  .message{padding:3rem 1.5rem}
  .form{grid-template-columns:1fr}
}
@media (prefers-reduced-motion:reduce){.glow{animation:none}.path span{transition:none}}
