:root{
  --cream:#F4EFE4; --paper:#EAE2CC; --ink:#15130F; --red:#B91C2B; --red-deep:#8E1520; --gold:#C9A227; --navy:#1B2A44;
  --ink-soft:#514C3D; --white:#FFFFFF;
  --shadow-sm:0 3px 10px rgba(21,19,15,.08); --shadow-md:0 10px 26px rgba(21,19,15,.12); --shadow-lg:0 22px 50px rgba(21,19,15,.18);
  --ease:cubic-bezier(.22,.9,.32,1);
  --display:'Anton',sans-serif; --body:'Archivo',sans-serif; --mono:'Space Mono',monospace;
}
*{box-sizing:border-box;margin:0;padding:0;}
html{scroll-behavior:smooth;}
body{font-family:var(--body);background:var(--cream);color:var(--ink);line-height:1.65;overflow-x:hidden;}
img{max-width:100%;display:block;}
a{color:inherit;text-decoration:none;}
.wrap{max-width:1240px;margin:0 auto;padding:0 32px;}
.pad{padding:104px 0;}
@media(max-width:720px){.pad{padding:66px 0;}}
h1,h2,h3{font-family:var(--display);font-weight:400;color:var(--ink);text-transform:uppercase;letter-spacing:.01em;}
.eyebrow{font-family:var(--mono);font-size:11.5px;letter-spacing:.1em;text-transform:uppercase;color:var(--red);display:flex;align-items:center;gap:10px;margin-bottom:16px;font-weight:700;}
.eyebrow::before{content:"";width:26px;height:3px;background:var(--gold);}
.section-title{font-size:clamp(30px,4vw,50px);margin-bottom:16px;line-height:.98;}
.section-lede{font-size:16px;color:var(--ink-soft);max-width:540px;margin-bottom:48px;font-weight:500;}
.reveal{opacity:0;transform:translateY(26px);transition:opacity .8s var(--ease),transform .8s var(--ease);}
.reveal.visible{opacity:1;transform:translateY(0);}
@media(prefers-reduced-motion:reduce){.reveal,.placard,.medal-stack .medal,.cert-card,.gal-item{opacity:1!important;transform:none!important;animation:none!important;}}
.card{background:var(--white);box-shadow:var(--shadow-sm);transition:box-shadow .3s var(--ease),transform .3s var(--ease);}
.card:hover{box-shadow:var(--shadow-md);}

/* NAV — functioning */
header{position:fixed;top:0;left:0;right:0;z-index:200;background:rgba(244,239,228,.96);backdrop-filter:blur(8px);border-bottom:3px solid var(--ink);}
nav.wrap{display:flex;align-items:center;justify-content:space-between;height:76px;}
.brand{display:flex;align-items:center;gap:10px;font-family:var(--display);font-size:19px;letter-spacing:.02em;}
.brand-mark{width:36px;height:36px;background:var(--red);color:var(--cream);display:flex;align-items:center;justify-content:center;font-family:var(--display);font-size:15px;transform:rotate(-4deg);}
.navlinks{display:flex;gap:22px;font-family:var(--mono);font-size:11.5px;font-weight:700;text-transform:uppercase;}
.navlinks a{position:relative;padding:4px 0;}
.navlinks a::after{content:"";position:absolute;left:0;bottom:-2px;width:0;height:2px;background:var(--gold);transition:width .3s var(--ease);}
.navlinks a:hover::after{width:100%;}
.navcta{font-family:var(--mono);font-weight:700;font-size:11.5px;text-transform:uppercase;background:var(--ink);color:var(--cream);padding:11px 18px;transition:transform .25s var(--ease),background .25s var(--ease);}
.navcta:hover{transform:translateY(-2px);background:var(--red);}
.menubtn{display:none;background:none;border:none;font-size:22px;cursor:pointer;color:var(--ink);z-index:210;}
@media(max-width:980px){.navlinks{display:none;}.navcta{display:none;}.menubtn{display:block;}}
.mobile-menu{position:fixed;inset:0;background:var(--ink);z-index:190;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:26px;opacity:0;pointer-events:none;transition:opacity .35s var(--ease);}
.mobile-menu.open{opacity:1;pointer-events:auto;}
.mobile-menu a{font-family:var(--display);font-size:30px;color:var(--cream);text-transform:uppercase;}
.mobile-menu a:hover{color:var(--gold);}

/* HERO */
.hero{position:relative;padding:150px 0 0;overflow:hidden;background:var(--cream);}
.hero-split{position:absolute;top:0;right:0;width:54%;height:100%;background:var(--ink);clip-path:polygon(32% 0,100% 0,100% 100%,0% 100%);z-index:0;}
.hero-wrap{position:relative;z-index:2;display:grid;grid-template-columns:1.15fr .85fr;gap:20px;align-items:end;min-height:600px;padding-bottom:56px;}
@media(max-width:960px){.hero-wrap{grid-template-columns:1fr;min-height:auto;padding-top:16px;}.hero-split{display:none;}}
.hero-meta{font-family:var(--mono);font-size:11.5px;font-weight:700;text-transform:uppercase;letter-spacing:.06em;color:var(--ink-soft);margin-bottom:18px;display:flex;gap:16px;flex-wrap:wrap;}
.hero h1{font-size:clamp(42px,7.6vw,96px);line-height:.87;}
.hero h1 .line2{color:var(--red);}
.hero-sub{font-family:var(--body);font-weight:600;font-size:16.5px;color:var(--ink-soft);max-width:420px;margin-top:22px;}
.hero-ctas{display:flex;gap:14px;margin-top:30px;flex-wrap:wrap;}
.btn{font-family:var(--mono);font-weight:700;font-size:12.5px;text-transform:uppercase;padding:15px 26px;cursor:pointer;display:inline-flex;align-items:center;gap:8px;transition:transform .25s var(--ease),box-shadow .25s var(--ease);letter-spacing:.03em;}
.btn-primary{background:var(--red);color:var(--cream);box-shadow:var(--shadow-sm);}
.btn-primary:hover{transform:translateY(-3px);box-shadow:var(--shadow-md);}
.btn-ghost{border:3px solid var(--ink);color:var(--ink);}
.btn-ghost:hover{background:var(--ink);color:var(--cream);transform:translateY(-3px);}
.hero-photo-block{position:relative;z-index:3;}
.hero-photo-offset{position:absolute;top:16px;left:16px;width:100%;height:100%;background:var(--gold);z-index:0;}
.hero-photo{position:relative;z-index:1;aspect-ratio:3/4;background:linear-gradient(155deg,#3A3226,#15130F);display:flex;align-items:center;justify-content:center;font-family:var(--display);font-size:66px;color:var(--cream);border:4px solid var(--cream);}
.stamp-badge{position:absolute;bottom:-24px;right:-24px;z-index:4;width:92px;height:92px;border-radius:50%;background:var(--red);color:var(--cream);display:flex;align-items:center;justify-content:center;text-align:center;font-family:var(--mono);font-size:9.5px;font-weight:700;text-transform:uppercase;line-height:1.3;transform:rotate(-8deg);border:3px solid var(--cream);box-shadow:var(--shadow-lg);}
.hero-stats{display:flex;position:relative;z-index:2;border-top:3px solid var(--ink);}
.stat{flex:1;padding:18px 4px 0;border-right:2px solid rgba(21,19,15,.15);}
.stat:last-child{border-right:none;}
.stat b{display:block;font-family:var(--display);font-size:34px;}
.stat span{font-family:var(--mono);font-size:9.5px;font-weight:700;text-transform:uppercase;color:var(--ink-soft);}

/* ABOUT + SUMMARY */
.about-grid{display:grid;grid-template-columns:1.2fr .9fr;gap:50px;align-items:start;}
@media(max-width:900px){.about-grid{grid-template-columns:1fr;}}
.about-body p{margin-bottom:16px;font-size:16px;color:var(--ink-soft);}
.about-body strong{color:var(--ink);font-weight:700;}
.summary-card{background:var(--ink);color:var(--cream);padding:34px;position:relative;}
.summary-card::before{content:"";position:absolute;top:0;left:0;width:100%;height:4px;background:var(--gold);}
.summary-card h3{font-size:16px;color:var(--gold);margin-bottom:18px;letter-spacing:.03em;}
.summary-list{list-style:none;}
.summary-list li{display:flex;gap:10px;font-size:14px;padding:9px 0;border-bottom:1px solid rgba(255,255,255,.1);color:#D8D0BC;}
.summary-list li:last-child{border-bottom:none;}
.summary-list li::before{content:"—";color:var(--gold);flex-shrink:0;}

/* RESUME: quals + experience */
.resume-grid{display:grid;grid-template-columns:1fr 1.3fr;gap:50px;}
@media(max-width:900px){.resume-grid{grid-template-columns:1fr;}}
.resume-sub{font-family:var(--display);font-size:20px;margin-bottom:22px;padding-bottom:12px;border-bottom:3px solid var(--ink);}
.qual-item{padding:18px 0;border-bottom:1px dashed rgba(21,19,15,.2);}
.qual-item:last-child{border-bottom:none;}
.qual-item h4{font-family:var(--body);font-weight:800;font-size:16px;text-transform:none;}
.qual-item .inst{font-size:13.5px;color:var(--ink-soft);margin-top:4px;}
.qual-item .meta-row{display:flex;justify-content:space-between;margin-top:8px;font-family:var(--mono);font-size:11px;}
.qual-item .year{color:var(--ink-soft);}
.qual-item .grade{background:var(--gold);color:var(--ink);padding:3px 10px;font-weight:700;}
.exp-item{padding:0 0 30px 26px;border-left:3px solid var(--ink);position:relative;margin-bottom:2px;}
.exp-item:last-child{padding-bottom:0;}
.exp-item::before{content:"";position:absolute;left:-9px;top:2px;width:15px;height:15px;border-radius:50%;background:var(--red);border:3px solid var(--cream);}
.exp-item h4{font-family:var(--body);font-weight:800;font-size:17px;text-transform:none;}
.exp-item .role-meta{font-family:var(--mono);font-size:11.5px;color:var(--ink-soft);margin:4px 0 10px;}
.exp-item ul{padding-left:18px;}
.exp-item li{font-size:14px;color:var(--ink-soft);margin-bottom:5px;}

/* CERTIFICATIONS */
.cert-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:18px;}
@media(max-width:860px){.cert-grid{grid-template-columns:1fr 1fr;}}
@media(max-width:560px){.cert-grid{grid-template-columns:1fr;}}
.cert-card{padding:24px 20px;text-align:center;border:2px solid var(--ink);}
.cert-icon{width:52px;height:52px;border-radius:50%;background:var(--navy);color:var(--gold);display:flex;align-items:center;justify-content:center;font-size:20px;margin:0 auto 14px;}
.cert-card h4{font-family:var(--body);font-weight:800;font-size:14.5px;text-transform:none;margin-bottom:6px;}
.cert-card p{font-family:var(--mono);font-size:10.5px;color:var(--ink-soft);}

/* SKILLS placards (kept) */
.placard-field{position:relative;height:420px;}
@media(max-width:760px){.placard-field{height:auto;display:flex;flex-wrap:wrap;gap:16px;justify-content:center;}}
.placard{position:absolute;background:var(--paper);border:3px solid var(--ink);padding:18px 22px;font-family:var(--display);font-size:16px;text-align:center;box-shadow:6px 6px 0 var(--ink);transition:transform .3s var(--ease);}
.placard:hover{transform:scale(1.06) rotate(0deg) !important;}
@media(max-width:760px){.placard{position:static;transform:none !important;}}
.pl1{top:0;left:2%;transform:rotate(-6deg);}
.pl2{top:20px;left:26%;transform:rotate(4deg);background:var(--red);color:var(--cream);}
.pl3{top:0;left:52%;transform:rotate(-3deg);}
.pl4{top:60px;left:74%;transform:rotate(7deg);}
.pl5{top:180px;left:8%;transform:rotate(3deg);background:var(--navy);color:var(--cream);}
.pl6{top:210px;left:36%;transform:rotate(-5deg);}
.pl7{top:170px;left:60%;transform:rotate(6deg);background:var(--gold);}
.pl8{top:230px;left:80%;transform:rotate(-4deg);}

/* ACHIEVEMENTS overlapping stack */
.medal-stack{display:flex;padding:20px 0;flex-wrap:wrap;}
.medal-stack .medal{width:128px;height:128px;border-radius:50%;background:var(--paper);border:3px solid var(--ink);display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;padding:14px;margin-left:-28px;position:relative;transition:transform .3s var(--ease);box-shadow:4px 4px 0 rgba(21,19,15,.15);}
.medal-stack .medal:first-child{margin-left:0;}
.medal-stack .medal:hover{transform:translateY(-14px) scale(1.06);z-index:10;}
.medal-stack .medal b{font-family:var(--body);font-weight:800;font-size:11.5px;}
.medal-stack .medal span{font-family:var(--mono);font-size:9px;color:var(--ink-soft);margin-top:4px;}
.medal-icon-big{font-size:20px;margin-bottom:4px;}

/* PORTFOLIO masonry (kept) */
.port-grid{display:grid;grid-template-columns:repeat(3,1fr);grid-auto-rows:165px;gap:16px;}
@media(max-width:860px){.port-grid{grid-template-columns:1fr 1fr;}}
@media(max-width:560px){.port-grid{grid-template-columns:1fr;}}
.p-card{background:var(--ink);color:var(--cream);padding:22px;position:relative;overflow:hidden;transition:transform .3s var(--ease);}
.p-card:hover{transform:translateY(-4px);}
.p-card.feature{grid-column:span 2;grid-row:span 2;background:var(--red);}
.p-tag{font-family:var(--mono);font-size:10px;text-transform:uppercase;opacity:.8;}
.p-card h4{font-family:var(--body);font-weight:800;font-size:16px;margin:10px 0 6px;text-transform:none;}
.p-card.feature h4{font-size:24px;}
.p-card p{font-size:12.5px;opacity:.85;}
.p-card.feature p{font-size:14px;max-width:340px;}
.p-card:nth-child(3n){background:var(--navy);}

/* GALLERY */
.gal-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:14px;}
@media(max-width:860px){.gal-grid{grid-template-columns:1fr 1fr;}}
.gal-item{aspect-ratio:1;background:linear-gradient(150deg,#4A4030,#15130F);position:relative;cursor:pointer;overflow:hidden;}
.gal-item:nth-child(3n+1){background:linear-gradient(150deg,#7A2530,#15130F);}
.gal-item:nth-child(3n+2){background:linear-gradient(150deg,#1B2A44,#15130F);}
.gal-item::after{content:attr(data-label);position:absolute;inset:0;background:rgba(21,19,15,.75);color:var(--cream);display:flex;align-items:center;justify-content:center;text-align:center;padding:14px;font-family:var(--mono);font-size:11px;text-transform:uppercase;opacity:0;transition:opacity .3s var(--ease);}
.gal-item:hover::after{opacity:1;}
.gal-item:hover{transform:scale(1.02);}
.lightbox{position:fixed;inset:0;background:rgba(21,19,15,.92);z-index:300;display:flex;align-items:center;justify-content:center;opacity:0;pointer-events:none;transition:opacity .3s var(--ease);}
.lightbox.open{opacity:1;pointer-events:auto;}
.lightbox-inner{width:min(600px,86vw);aspect-ratio:4/3;background:linear-gradient(150deg,#4A4030,#15130F);display:flex;align-items:center;justify-content:center;color:var(--cream);font-family:var(--mono);text-transform:uppercase;font-size:13px;position:relative;}
.lightbox-close{position:absolute;top:-44px;right:0;color:var(--cream);font-family:var(--display);font-size:26px;cursor:pointer;}

/* TESTIMONIALS spotlight (kept) */
.spotlight{background:var(--navy);color:var(--cream);padding:60px 48px;text-align:center;position:relative;}
.spotlight q{font-family:var(--display);font-size:clamp(20px,3.2vw,36px);text-transform:none;line-height:1.25;display:block;max-width:800px;margin:0 auto;transition:opacity .25s ease;}
.spotlight-foot{margin-top:22px;font-family:var(--mono);font-size:12px;color:var(--gold);}
.dots{display:flex;gap:10px;justify-content:center;margin-top:28px;}
.dot-btn{width:9px;height:9px;border-radius:50%;background:rgba(255,255,255,.3);cursor:pointer;transition:background .2s ease;}
.dot-btn.active{background:var(--gold);}

/* BLOG (kept) */
.blog-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:20px;}
@media(max-width:860px){.blog-grid{grid-template-columns:1fr;}}
.bcard{cursor:pointer;background:var(--white);border:2px solid var(--ink);transition:transform .25s var(--ease);}
.bcard:hover{transform:translateY(-4px);}
.bcard-img{aspect-ratio:16/10;background:var(--ink);color:var(--cream);display:flex;align-items:center;justify-content:center;font-size:28px;}
.bcard-body{padding:20px;}
.bcard-meta{font-family:var(--mono);font-size:10px;color:var(--red);margin-bottom:8px;font-weight:700;text-transform:uppercase;}
.bcard-body h4{font-family:var(--display);font-size:17px;margin-bottom:6px;text-transform:none;}
.bcard-body p{font-size:13px;color:var(--ink-soft);}

/* BOOKING */
.office{background:var(--ink);color:var(--cream);}
.office .eyebrow{color:var(--gold);}
.office .eyebrow::before{background:var(--gold);}
.office .section-title{color:#fff;}
.office .section-lede{color:#B5AD98;}
.office-grid{display:grid;grid-template-columns:1fr 1fr;gap:50px;}
@media(max-width:860px){.office-grid{grid-template-columns:1fr;}}
.days{display:flex;gap:10px;margin-bottom:20px;flex-wrap:wrap;}
.day-btn{font-family:var(--mono);font-size:12px;font-weight:700;text-transform:uppercase;padding:11px 18px;border:2px solid #4A4436;color:#B5AD98;cursor:pointer;background:transparent;transition:all .25s var(--ease);}
.day-btn.active,.day-btn:hover{border-color:var(--gold);color:#fff;background:rgba(201,162,39,.14);}
.slots{display:grid;grid-template-columns:repeat(3,1fr);gap:10px;}
.slot{font-family:var(--mono);font-size:11.5px;text-align:center;padding:12px 6px;border:2px solid #4A4436;color:#B5AD98;cursor:pointer;transition:all .25s var(--ease);}
.slot.active{background:var(--red);border-color:var(--red);color:#fff;}
.slot:hover{border-color:var(--red);}
.confirm-note{margin-top:14px;font-family:var(--mono);font-size:12.5px;color:var(--gold);opacity:0;transform:translateY(6px);transition:all .3s var(--ease);font-weight:700;}
.confirm-note.show{opacity:1;transform:translateY(0);}
.contact-form{display:flex;flex-direction:column;gap:13px;}
.contact-form input,.contact-form textarea{background:rgba(255,255,255,.06);border:2px solid #4A4436;color:#fff;font-family:var(--body);font-size:14px;padding:11px 13px;outline:none;transition:border-color .25s var(--ease);}
.contact-form input::placeholder,.contact-form textarea::placeholder{color:#8C8672;}
.contact-form input:focus,.contact-form textarea:focus{border-color:var(--gold);}
.contact-form textarea{resize:vertical;min-height:74px;}
.form-msg{font-family:var(--mono);font-size:11.5px;color:var(--gold);margin-top:8px;opacity:0;transition:opacity .3s ease;}
.form-msg.show{opacity:1;}

/* CONTACT HUB — address / qr / references */
.hub-grid{display:grid;grid-template-columns:1fr .8fr 1.1fr;gap:26px;}
@media(max-width:960px){.hub-grid{grid-template-columns:1fr;}}
.hub-card{padding:30px;border:2px solid var(--ink);}
.hub-card h3{font-size:16px;margin-bottom:20px;padding-bottom:12px;border-bottom:2px solid var(--ink);}
.addr-row{display:flex;gap:14px;margin-bottom:16px;font-size:14px;color:var(--ink-soft);}
.addr-row .ico{width:32px;height:32px;background:var(--navy);color:var(--gold);border-radius:50%;display:flex;align-items:center;justify-content:center;flex-shrink:0;font-size:14px;}
.addr-row strong{display:block;color:var(--ink);font-weight:700;}
.social-row{display:flex;gap:10px;margin-top:18px;}
.social-row a{width:34px;height:34px;border:2px solid var(--ink);display:flex;align-items:center;justify-content:center;font-size:13px;transition:all .2s var(--ease);}
.social-row a:hover{background:var(--ink);color:var(--cream);}
.qr-card{text-align:center;}
.qr-grid{display:grid;grid-template-columns:repeat(21,1fr);gap:1px;width:150px;height:150px;margin:0 auto 16px;background:#fff;padding:8px;border:2px solid var(--ink);}
.qr-cell{background:transparent;}
.qr-cell.on{background:var(--ink);}
.qr-card p{font-family:var(--mono);font-size:11px;color:var(--ink-soft);}
.ref-item{padding:16px 0;border-bottom:1px dashed rgba(21,19,15,.2);}
.ref-item:last-child{border-bottom:none;}
.ref-item b{font-family:var(--body);font-weight:800;font-size:14.5px;display:block;}
.ref-item span{font-family:var(--mono);font-size:11px;color:var(--ink-soft);display:block;margin-top:4px;}

footer{padding:40px 0;border-top:3px solid var(--ink);}
.foot-row{display:flex;justify-content:space-between;align-items:center;flex-wrap:wrap;gap:16px;}
.foot-links{display:flex;gap:20px;font-family:var(--mono);font-size:11.5px;font-weight:700;text-transform:uppercase;}
.foot-copy{font-family:var(--mono);font-size:11px;color:var(--ink-soft);}
