:root{
  color-scheme: only light;
  --paper:#F5F2EB; --card:#FCFAF5; --panel:#EFEBE1; --tint:#EFEBE0; --cream:#FCFAF5;
  --ink:#22261E; --muted:#6E6B5F; --sage:#8A9179; --green:#3B4A38; --greenDeep:#2C3A2B;
  --bronze:#A97C46; --bronzeHi:#BC8B50; --bronzeDeep:#94693A; --line:#E3DDD1;
  /* extended accents */
  --clay:#AC654A; --ochre:#BE8C3A; --teal:#4C6B60;
  --sand:#F0E5D0; --sageT:#E5E9DA; --clayT:#F4E5DC; --tealT:#E0E8E3;
}
/* Hold the light palette even if the device or browser requests dark. */
@media (prefers-color-scheme: dark){
  :root{
    color-scheme: only light;
    --paper:#F5F2EB; --card:#FCFAF5; --panel:#EFEBE1; --tint:#EFEBE0; --cream:#FCFAF5;
    --ink:#22261E; --muted:#6E6B5F; --sage:#8A9179; --green:#3B4A38; --greenDeep:#2C3A2B;
    --bronze:#A97C46; --bronzeHi:#BC8B50; --bronzeDeep:#94693A; --line:#E3DDD1;
    --clay:#AC654A; --ochre:#BE8C3A; --teal:#4C6B60;
    --sand:#F0E5D0; --sageT:#E5E9DA; --clayT:#F4E5DC; --tealT:#E0E8E3;
  }
  html,body{background:#F5F2EB !important;color:#22261E !important;}
}
*{box-sizing:border-box;margin:0;padding:0;}
html{scroll-behavior:smooth;color-scheme:only light;}
body{font-family:Inter,sans-serif;color:var(--ink);background:var(--paper);line-height:1.6;-webkit-font-smoothing:antialiased;color-scheme:only light;}
h1,h2,h3{font-family:Fraunces,serif;font-weight:500;letter-spacing:-.015em;line-height:1.08;}
a{color:inherit;text-decoration:none;}
.wrap{max-width:1060px;margin:0 auto;padding:0 26px;}
.eyebrow{font-family:'Space Mono',monospace;font-size:11px;letter-spacing:.16em;text-transform:uppercase;color:var(--bronze);}
.rlink{display:inline-block;margin-top:20px;font-family:'Space Mono',monospace;font-size:12px;letter-spacing:.06em;color:var(--green);border-bottom:1px solid var(--sage);padding-bottom:2px;}
.rlink:hover{color:var(--bronze);border-color:var(--bronze);}

header{position:sticky;top:0;z-index:50;background:rgba(245,242,235,.9);backdrop-filter:blur(10px);border-bottom:1px solid var(--line);}
.nav{display:flex;align-items:center;justify-content:space-between;height:64px;}
.brand{font-family:Fraunces,serif;font-size:17px;font-weight:600;color:var(--ink);display:flex;align-items:center;gap:11px;}
.brand span{color:var(--sage);}
.brand img.mark{width:38px;height:38px;border-radius:7px;display:block;flex-shrink:0;}
.brand .bt{line-height:1.15;}
.links{display:flex;align-items:center;gap:18px;}
.links a{font-size:13.5px;color:var(--ink);font-weight:500;transition:color .15s;}
.links a:hover,.links a.active{color:var(--bronze);}
.btn{display:inline-block;background:var(--green);color:#fff;font-weight:500;font-size:14px;letter-spacing:.01em;padding:11px 20px;border-radius:6px;transition:background .18s,border-color .18s,color .18s;}
.btn:hover{background:var(--greenDeep);color:#fff;}
.btn.bronze{background:var(--bronzeDeep);color:#fff;} .btn.bronze:hover{background:var(--bronze);color:#fff;}
.btn.ghost{background:transparent;color:var(--ink);border:1.5px solid var(--bronze);padding:10px 19px;}
.btn.ghost:hover{background:rgba(169,124,70,.09);border-color:var(--bronzeHi);color:var(--ink);}
.links .btn{font-size:13.5px;padding:10px 17px;}
.links a.btn{color:#fff;}
.links a.btn:hover{color:#fff;}
.links a.btn.ghost{color:var(--ink);}
.links a.btn.ghost:hover{color:var(--ink);}
.links a.btn.ghost.active{border-color:var(--bronze);background:rgba(169,124,70,.12);color:var(--bronze);}
.burger{display:none;background:none;border:none;cursor:pointer;padding:8px;}
.burger span{display:block;width:22px;height:2px;background:var(--ink);margin:4px 0;}

.hero{padding:76px 0 30px;}
.hero .eyebrow{margin-bottom:20px;}
.hero h1{font-size:50px;max-width:16ch;margin-bottom:22px;}
.hero p.lead{font-size:18px;color:var(--muted);max-width:50ch;margin-bottom:30px;}
.cta-row{display:flex;gap:14px;flex-wrap:wrap;}

.phero{padding:66px 0 46px;border-bottom:1px solid var(--line);}
.phero .eyebrow{margin-bottom:16px;}
.phero h1{font-size:44px;max-width:16ch;margin-bottom:18px;}
.phero p{font-size:17px;color:var(--muted);max-width:56ch;}

.frame{position:relative;background:var(--panel);border:1px solid var(--line);border-radius:8px;overflow:hidden;}
.frame::before,.frame::after{content:"";position:absolute;width:14px;height:14px;border-color:var(--sage);border-style:solid;opacity:.7;}
.frame::before{top:12px;left:12px;border-width:1.5px 0 0 1.5px;}
.frame::after{bottom:12px;right:12px;border-width:0 1.5px 1.5px 0;}
.frame .ph{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;font-family:'Space Mono',monospace;font-size:11px;letter-spacing:.14em;text-transform:uppercase;color:var(--sage);}
.frame img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;display:block;}
.frame:has(img)::before,.frame:has(img)::after{display:none;}
.hero-img{margin-top:44px;aspect-ratio:16/8;}
.video{position:relative;padding-top:56.25%;margin-top:44px;border:1px solid var(--line);border-radius:8px;overflow:hidden;background:var(--panel);box-shadow:0 18px 40px -28px rgba(34,38,30,.5);}
.video iframe{position:absolute;top:0;left:0;width:100%;height:100%;border:0;display:block;}
@media (max-width:840px){.video{margin-top:30px;}}
.feature{aspect-ratio:16/9;margin-top:8px;}
.two{display:grid;grid-template-columns:1fr 1fr;gap:18px;}
.two .frame{aspect-ratio:4/3;}

/* credentials */
.badges{display:grid;grid-template-columns:repeat(3,1fr);gap:20px;}
.badge{background:var(--card);border:1px solid var(--line);border-radius:10px;padding:24px 22px;display:flex;flex-direction:column;gap:14px;position:relative;overflow:hidden;}
.badge::before{content:"";position:absolute;top:0;left:0;right:0;height:3px;background:var(--sage);}
.badge:nth-child(2)::before{background:var(--teal);}
.badge:nth-child(3)::before{background:var(--clay);}
.badge:nth-child(4)::before{background:var(--ochre);}
.badge.win{border-color:var(--bronze);box-shadow:inset 0 0 0 1px var(--bronze);background:linear-gradient(180deg,#FDF7EC 0%,var(--card) 60%);}
.badge.win::before{background:var(--bronze);height:4px;}
.logoslot{height:92px;border:1px dashed var(--line);border-radius:7px;display:flex;align-items:center;justify-content:center;background:#fff;overflow:hidden;padding:10px 14px;}
.logoslot:has(img){border:1px solid var(--line);border-style:solid;}
.logoslot img{max-height:70px;max-width:100%;width:auto;object-fit:contain;display:block;}
.logoslot .hint{font-family:'Space Mono',monospace;font-size:9px;letter-spacing:.12em;text-transform:uppercase;color:#B9B2A2;text-align:center;padding:0 8px;}
.badge .tier{font-family:'Space Mono',monospace;font-size:9.5px;letter-spacing:.14em;text-transform:uppercase;color:var(--bronze);}
.badge.fin .tier{color:var(--sage);}
.badge h3{font-size:17px;line-height:1.2;}
.badge p{font-size:13.5px;color:var(--muted);}
.badge .yr{font-family:'Space Mono',monospace;font-size:10.5px;color:var(--muted);letter-spacing:.06em;margin-top:auto;}

.credtable{border:1px solid var(--line);border-radius:10px;overflow:hidden;background:var(--card);border-top:3px solid var(--teal);}
.credrow{display:flex;justify-content:space-between;gap:18px;padding:15px 20px;border-bottom:1px solid var(--line);}
.credrow:nth-child(odd){background:#F9F6EF;}
.credrow:last-child{border-bottom:none;}
.credrow .ck{font-size:14.5px;color:var(--ink);font-weight:500;}
.credrow .cv{font-family:'Space Mono',monospace;font-size:11.5px;color:var(--clay);letter-spacing:.04em;text-align:right;white-space:nowrap;}

.credstrip{display:grid;grid-template-columns:repeat(4,1fr);gap:1px;background:var(--line);border-top:1px solid var(--line);border-bottom:1px solid var(--line);}
.credstrip .cs{background:var(--sand);padding:20px 18px;text-align:center;border-top:3px solid var(--bronze);}
.credstrip .cs:nth-child(2){background:var(--sageT);border-top-color:var(--sage);}
.credstrip .cs:nth-child(3){background:var(--tealT);border-top-color:var(--teal);}
.credstrip .cs:nth-child(4){background:var(--clayT);border-top-color:var(--clay);}
.credstrip .cs .t{font-family:'Space Mono',monospace;font-size:9px;letter-spacing:.14em;text-transform:uppercase;color:var(--bronze);margin-bottom:7px;}
.credstrip .cs:nth-child(2) .t{color:var(--green);}
.credstrip .cs:nth-child(3) .t{color:var(--teal);}
.credstrip .cs:nth-child(4) .t{color:var(--clay);}
.credstrip .cs .m{font-family:Fraunces,serif;font-size:15px;line-height:1.25;color:var(--ink);}

/* contact */
.cgrid{display:grid;grid-template-columns:1fr 1.1fr;gap:44px;align-items:start;}
.cdetails .crow{padding:16px 0;border-bottom:1px solid var(--line);}
.cdetails .crow:first-child{padding-top:0;}
.cdetails .crow:nth-child(2) .ck{color:var(--teal);}
.cdetails .crow:nth-child(3) .ck{color:var(--clay);}
.cdetails .crow:nth-child(4) .ck{color:var(--ochre);}
.cdetails .crow:nth-child(5) .ck{color:var(--green);}
.cdetails .ck{font-family:'Space Mono',monospace;font-size:10px;letter-spacing:.14em;text-transform:uppercase;color:var(--bronze);margin-bottom:6px;}
.cdetails .cv{font-size:17px;font-family:Fraunces,serif;font-weight:600;color:var(--ink);}
.cdetails .cv a{border-bottom:1px solid var(--sage);padding-bottom:1px;}
.cdetails .cv a:hover{color:var(--bronze);border-color:var(--bronze);}
.cdetails .cn{font-size:13.5px;color:var(--muted);margin-top:5px;}
.cform{background:var(--card);border:1px solid var(--line);border-radius:10px;padding:30px 28px;border-top:3px solid var(--sage);}
.cform h3{font-size:20px;margin-bottom:6px;}
.cform .intro{font-size:14px;color:var(--muted);margin-bottom:22px;}
.field{margin-bottom:16px;}
.field label{display:block;font-family:'Space Mono',monospace;font-size:10px;letter-spacing:.1em;text-transform:uppercase;color:var(--muted);margin-bottom:7px;}
.field input,.field textarea,.field select{width:100%;padding:13px 14px;border:1px solid var(--line);border-radius:6px;background:#fff;font-family:Inter,sans-serif;font-size:15px;color:var(--ink);outline:none;}
.field textarea{min-height:120px;resize:vertical;}
.field input:focus,.field textarea:focus,.field select:focus{border-color:var(--green);box-shadow:0 0 0 3px rgba(59,74,56,.08);}
.cform button{width:100%;margin-top:8px;padding:15px;border:none;border-radius:6px;background:var(--green);color:#fff;font-family:Inter,sans-serif;font-size:14.5px;font-weight:500;letter-spacing:.01em;cursor:pointer;transition:background .18s;}
.cform button:hover{background:var(--greenDeep);}
.hidden{position:absolute;left:-9999px;}
.thanks{text-align:center;max-width:520px;margin:0 auto;padding:90px 0;}
.thanks h1{font-size:34px;margin:16px 0 14px;}
.thanks p{font-size:16px;color:var(--muted);margin-bottom:26px;}

section.block{padding:72px 0;}
.sec-head{max-width:640px;margin-bottom:40px;}
.sec-head h2{font-size:32px;margin:14px 0 14px;}
.sec-head p{font-size:16px;color:var(--muted);}

.cols3{display:grid;grid-template-columns:repeat(3,1fr);gap:24px;}
.cardc{background:var(--card);border:1px solid var(--line);border-radius:9px;padding:28px 24px;position:relative;overflow:hidden;}
.cardc::before{content:"";position:absolute;top:0;left:0;right:0;height:3px;background:var(--sage);}
.cardc:nth-child(2)::before{background:var(--bronze);}
.cardc:nth-child(3)::before{background:var(--teal);}
.cardc:nth-child(4)::before{background:var(--clay);}
.cardc h3{font-size:20px;margin-bottom:10px;}
.cardc p{font-size:14.5px;color:var(--muted);}

.band{background:var(--sand);}
.band.alt{background:var(--sageT);}
.band.cool{background:var(--tealT);}
.band.warm{background:var(--clayT);}
.princ{display:grid;grid-template-columns:repeat(3,1fr);gap:26px 22px;margin-bottom:38px;}
.princ .p{border-top:2px solid var(--sage);padding-top:14px;color:var(--sage);}
.princ .p:nth-child(2){border-top-color:var(--bronze);color:var(--bronze);}
.princ .p:nth-child(3){border-top-color:var(--teal);color:var(--teal);}
.princ .p:nth-child(4){border-top-color:var(--clay);color:var(--clay);}
.princ .p:nth-child(5){border-top-color:var(--ochre);color:var(--ochre);}
.princ .p:nth-child(6){border-top-color:var(--green);color:var(--green);}
.princ .p .pico{width:27px;height:27px;display:block;margin:2px 0 11px;color:inherit;}
.princ .p h3{font-size:17px;margin-bottom:6px;font-weight:500;color:var(--ink);}
.princ .p p{font-size:13.5px;color:var(--muted);}
.stats{display:grid;grid-template-columns:repeat(4,1fr);gap:22px;border-top:1px solid var(--line);padding-top:30px;}
.stat .n{font-family:Fraunces,serif;font-size:34px;color:var(--green);line-height:1;}
.stat:nth-child(2) .n{color:var(--teal);}
.stat:nth-child(3) .n{color:var(--clay);}
.stat:nth-child(4) .n{color:var(--bronze);}
.stat .l{font-size:12.5px;color:var(--muted);margin-top:8px;}

.cert{display:grid;grid-template-columns:1.2fr 1fr;gap:40px;align-items:start;}
.cert .body p{font-size:15px;color:var(--muted);margin-bottom:16px;}
.cert .body p:first-child{color:var(--ink);font-size:16px;}
.certbox{background:var(--card);border:1px solid var(--line);border-radius:9px;padding:24px;border-top:3px solid var(--bronze);}
.certbox .k{font-family:'Space Mono',monospace;font-size:10.5px;letter-spacing:.1em;text-transform:uppercase;color:var(--bronze);margin-bottom:6px;}
.certbox .row{padding:12px 0;border-bottom:1px solid var(--line);}
.certbox .row:last-child{border-bottom:none;}
.certbox .row b{font-family:Fraunces,serif;font-weight:600;font-size:15px;display:block;margin-bottom:2px;}
.certbox .row span{font-size:13px;color:var(--muted);}

.gallery{display:grid;grid-template-columns:repeat(3,1fr);gap:18px;}
.gallery .frame{aspect-ratio:4/5;}
.awards{display:flex;gap:26px;flex-wrap:wrap;margin-top:34px;font-family:'Space Mono',monospace;font-size:11px;letter-spacing:.06em;color:var(--sage);text-transform:uppercase;}

.work{display:grid;grid-template-columns:repeat(3,1fr);gap:24px;}
.work .w{border-left:3px solid var(--bronze);padding-left:18px;}
.work .w:nth-child(2){border-left-color:var(--teal);}
.work .w:nth-child(3){border-left-color:var(--clay);}
.work .w h3{font-size:18px;margin-bottom:8px;}
.work .w p{font-size:14px;color:var(--muted);}

.ctaband{background:linear-gradient(100deg,var(--sageT) 0%,var(--sand) 100%);border-top:3px solid var(--bronze);}
.ctaband .wrap{padding:60px 26px;display:flex;align-items:center;justify-content:space-between;gap:28px;flex-wrap:wrap;}
.ctaband h2{font-size:30px;color:var(--ink);max-width:18ch;}

footer{background:var(--panel);color:var(--muted);border-top:1px solid var(--line);}
footer .wrap{padding:52px 26px 28px;display:grid;grid-template-columns:2fr 1fr 1fr;gap:32px;}
footer .brand{color:var(--ink);font-size:18px;}
footer .brand img.mark{width:54px;height:54px;border-radius:9px;}
footer .brand span{color:var(--sage);}
footer p.tag{margin-top:14px;font-size:13.5px;color:var(--muted);max-width:32ch;}
footer h4{font-family:'Space Mono',monospace;font-size:10.5px;letter-spacing:.14em;text-transform:uppercase;color:var(--bronze);margin-bottom:14px;}
footer a,footer .fp{display:block;font-size:13.5px;color:var(--muted);margin-bottom:9px;}
footer a:hover{color:var(--ink);}
.footnote{border-top:1px solid var(--line);}
.footnote .wrap{padding:16px 26px;display:flex;justify-content:space-between;gap:14px;flex-wrap:wrap;font-size:11.5px;color:var(--muted);}

.reveal{opacity:0;transform:translateY(15px);transition:opacity .6s cubic-bezier(.4,0,.2,1),transform .6s cubic-bezier(.4,0,.2,1);}
.reveal.in{opacity:1;transform:none;}

@media (max-width:840px){
  .links{display:none;}
  .links.open{display:flex;position:absolute;top:64px;left:0;right:0;background:var(--paper);flex-direction:column;align-items:flex-start;gap:0;padding:8px 26px 18px;border-bottom:1px solid var(--line);}
  .links.open a{padding:12px 0;width:100%;border-bottom:1px solid var(--line);}
  .links.open .btn{margin-top:12px;width:100%;text-align:center;padding:13px 18px;border-bottom:none;}
  .links.open .btn.ghost{margin-top:10px;}
  .burger{display:block;}
  .hero{padding:54px 0 20px;} .hero h1{font-size:34px;} .hero p.lead{font-size:16px;}
  .phero h1{font-size:32px;}
  .cols3,.princ,.stats,.cert,.gallery,.work,footer .wrap,.badges,.two,.cgrid{grid-template-columns:1fr;}
  .stats,.credstrip{grid-template-columns:1fr 1fr;} .sec-head h2{font-size:26px;} .ctaband h2{font-size:24px;}
  .credrow{flex-direction:column;gap:4px;} .credrow .cv{text-align:left;}
  section.block{padding:54px 0;}
}
@media (prefers-reduced-motion:reduce){.reveal{opacity:1;transform:none;transition:none;}html{scroll-behavior:auto;}}
