/* =========================================================
   Pop Visual Media — Dark/Cinematic Theme
   Shared across every page. Inspired by editorial agency
   sites (large type, hairline rules, hover-reveal imagery),
   built on Pop's own accent colors (yolk yellow / rust).
========================================================= */

:root{
  --bg:#FFFCF5;
  --surface:#F1EEE6;
  --surface-2:#E9E2CF;
  --line:rgba(23,19,16,.12);
  --line-strong:rgba(23,19,16,.22);
  --text:#171310;
  --text-dim:rgba(23,19,16,.62);
  --text-faint:rgba(23,19,16,.42);
  --yolk:#F6C331;
  --yolk-deep:#F2A81C;
  --rust:#C1592C;
  --max:1320px;
  --ink:#171310; /* legacy alias so older markup referencing --ink still resolves correctly */
  --paper:#FFFCF5;
  --shell:#F1EEE6;
  --shell-line:rgba(23,19,16,.12);
  --white:#FFFFFF;
  --rust-deep:#9A4520;
}
*{box-sizing:border-box;}
html{scroll-behavior:smooth;}
body{
  background:var(--bg);
  color:var(--text);
  font-family:'Plus Jakarta Sans',sans-serif;
  -webkit-font-smoothing:antialiased;
  overflow-x:hidden;
}
h1,h2,h3{
  font-family:'Baloo 2',sans-serif;
  font-weight:700;
  letter-spacing:-0.01em;
  line-height:1.05;
}
a{color:inherit;text-decoration:none;}
img{display:block;max-width:100%;}
.wrap{max-width:var(--max);margin:0 auto;padding:0 40px;}
@media(max-width:720px){ .wrap{padding:0 22px;} }
::selection{background:var(--yolk);color:var(--text);}

/* ---------------- Header ---------------- */
header{position:fixed;top:0;left:0;right:0;z-index:80;padding:24px 0;}
header nav.wrap{display:flex;align-items:center;justify-content:space-between;}
.brand{display:flex;align-items:center;gap:10px;font-family:'Baloo 2';font-weight:800;font-size:19px;}
.brand img{width:30px;height:30px;}
.menu-btn{display:flex;align-items:center;gap:12px;background:none;border:none;color:var(--text);font-family:'Plus Jakarta Sans';font-weight:600;font-size:14.5px;cursor:pointer;}
.menu-btn .bars{display:flex;flex-direction:column;gap:4px;width:26px;}
.menu-btn .bars span{height:2px;background:var(--text);border-radius:2px;transition:transform .3s ease, width .3s ease;}
.menu-btn .bars span:last-child{width:16px;margin-left:auto;}
.menu-btn:hover .bars span:last-child{width:26px;}

/* ---------------- Full-screen overlay menu ---------------- */
.overlay-menu{
  position:fixed;inset:0;z-index:100;background:var(--bg);
  display:flex;flex-direction:column;justify-content:space-between;padding:26px 0 50px;
  clip-path:circle(2% at calc(100% - 56px) 46px);
  transition:clip-path .6s cubic-bezier(.6,0,.2,1);
  pointer-events:none;
}
.overlay-menu.open{clip-path:circle(150% at calc(100% - 56px) 46px);pointer-events:auto;}
.overlay-menu .wrap{display:flex;align-items:center;justify-content:space-between;width:100%;}
.overlay-close{background:none;border:none;color:var(--text);font-size:15px;font-weight:600;cursor:pointer;display:flex;align-items:center;gap:10px;}
.overlay-close .x{font-family:'Baloo 2';font-size:22px;line-height:1;}
.overlay-links{list-style:none;display:flex;flex-direction:column;gap:6px;padding:0 40px;}
@media(max-width:720px){ .overlay-links{padding:0 22px;} }
.overlay-links li{border-bottom:1px solid var(--line);}
.overlay-links a{display:flex;align-items:baseline;gap:22px;padding:18px 4px;font-family:'Baloo 2';font-size:clamp(28px,6.5vw,58px);font-weight:700;color:var(--text-dim);transition:color .25s ease, padding-left .25s ease;}
.overlay-links a:hover, .overlay-links a.active{color:var(--rust);padding-left:14px;}
.overlay-links .idx{font-family:'Plus Jakarta Sans';font-size:14px;font-weight:700;color:var(--rust);}
.overlay-foot{padding:0 40px;display:flex;justify-content:space-between;flex-wrap:wrap;gap:14px;font-size:13.5px;color:var(--text-dim);}
@media(max-width:720px){ .overlay-foot{padding:0 22px;} }
.overlay-foot a{color:var(--text);font-weight:600;}

/* ---------------- Buttons ---------------- */
.btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;padding:16px 30px;border-radius:100px;font-weight:700;font-size:15px;cursor:pointer;border:1.5px solid transparent;transition:transform .18s ease, background .18s ease, border-color .18s ease, color .18s ease;}
.btn-solid{background:var(--yolk);color:#1A1508;}
.btn-solid:hover{background:#fff;transform:translateY(-2px);}
.btn-line{border-color:var(--line);color:var(--text);}
.btn-line:hover{border-color:var(--text);transform:translateY(-2px);}

/* ---------------- Glow / orb decorations ---------------- */
.hero-glow{position:absolute;top:-10%;right:-10%;width:60vw;height:60vw;max-width:820px;max-height:820px;background:radial-gradient(circle at 40% 35%, rgba(246,195,49,.5), rgba(246,195,49,.08) 55%, transparent 70%);border-radius:50%;filter:blur(10px);animation:pvm-drift 14s ease-in-out infinite;pointer-events:none;}
@keyframes pvm-drift{ 0%,100%{transform:translate(0,0);} 50%{transform:translate(-2%,3%);} }
.hero-orb{position:absolute;top:14%;right:8%;width:min(26vw,260px);aspect-ratio:1;border-radius:50%;background:radial-gradient(circle at 32% 28%, #fff3cf 0%, var(--yolk) 45%, var(--yolk-deep) 100%);box-shadow:0 0 90px rgba(246,195,49,.4), 0 0 200px rgba(246,195,49,.18);animation:pvm-float 7s ease-in-out infinite;pointer-events:none;}
@keyframes pvm-float{ 0%,100%{transform:translateY(0);} 50%{transform:translateY(-16px);} }
@media(max-width:860px){ .hero-orb{display:none;} }

/* ---------------- Page hero (sub-pages) ---------------- */
.page-hero{position:relative;padding:168px 0 90px;overflow:hidden;}
.eyebrow{display:inline-flex;align-items:center;gap:9px;color:var(--text-dim);font-weight:600;font-size:14.5px;margin-bottom:24px;position:relative;z-index:2;}
.eyebrow::before{content:"";width:7px;height:7px;border-radius:50%;background:var(--yolk);}
.page-hero h1{font-size:clamp(38px,6.4vw,84px);max-width:18ch;position:relative;z-index:2;}
.page-hero p{max-width:56ch;color:var(--text-dim);font-size:17.5px;margin-top:22px;position:relative;z-index:2;}
.page-hero .btn{margin-top:30px;position:relative;z-index:2;}

/* ---------------- Statement marquee ---------------- */
.statement{border-top:1px solid var(--line);border-bottom:1px solid var(--line);padding:24px 0;overflow:hidden;}
.statement-track{display:flex;gap:60px;white-space:nowrap;width:max-content;animation:pvm-marq 26s linear infinite;}
@keyframes pvm-marq{ from{transform:translateX(0);} to{transform:translateX(-50%);} }
.statement-track span{font-family:'Baloo 2';font-size:clamp(24px,4vw,46px);color:var(--text-dim);display:flex;align-items:center;gap:60px;}
.statement-track span b{color:var(--rust);font-weight:700;}
.statement-track span .dot{width:9px;height:9px;border-radius:50%;background:var(--rust);display:inline-block;}

/* ---------------- Section shell ---------------- */
section{padding:110px 0;position:relative;}
@media(max-width:720px){ section{padding:72px 0;} }
.section-head{display:flex;justify-content:space-between;align-items:flex-end;gap:32px;flex-wrap:wrap;margin-bottom:50px;}
.section-head .kicker, .kicker{color:var(--rust);font-weight:700;font-size:14.5px;display:block;margin-bottom:12px;}
.section-head h2, .h2{font-size:clamp(28px,4vw,48px);max-width:18ch;font-family:'Baloo 2';font-weight:700;}
.section-head p{max-width:40ch;color:var(--text-dim);font-size:15.5px;}

/* ---------------- Editorial rows (services / capabilities) ---------------- */
.cap-row{position:relative;border-top:1px solid var(--line);display:grid;grid-template-columns:60px 1fr auto;align-items:center;gap:28px;padding:32px 0;overflow:hidden;cursor:pointer;}
.cap-row:last-child{border-bottom:1px solid var(--line);}
.cap-row .num{font-family:'Baloo 2';color:var(--text-dim);font-size:16px;}
.cap-row .name{font-family:'Baloo 2';font-size:clamp(24px,3.4vw,38px);position:relative;z-index:2;transition:color .3s ease;}
.cap-row .desc{display:block;font-size:14.5px;color:var(--text-dim);margin-top:8px;max-width:52ch;position:relative;z-index:2;}
.cap-row .tags{display:block;font-size:12.5px;color:var(--rust);margin-top:10px;position:relative;z-index:2;}
.cap-row .arrow{font-family:'Baloo 2';font-size:26px;color:var(--text-dim);transition:transform .3s ease, color .3s ease;position:relative;z-index:2;}
.cap-row .thumb{position:absolute;top:50%;right:8%;width:220px;height:150px;border-radius:14px;overflow:hidden;transform:translateY(-50%) translateX(40px) scale(.9);opacity:0;transition:transform .4s cubic-bezier(.2,.8,.2,1), opacity .4s ease;box-shadow:0 30px 50px -20px rgba(0,0,0,.6);}
.cap-row .thumb img{width:100%;height:100%;object-fit:cover;}
.cap-row:hover{background:var(--surface);}
.cap-row:hover .name{color:var(--rust);}
.cap-row:hover .arrow{color:var(--rust);transform:rotate(45deg);}
.cap-row:hover .thumb{opacity:1;transform:translateY(-50%) translateX(0) scale(1);}
@media(max-width:760px){ .cap-row .thumb{display:none;} .cap-row{grid-template-columns:36px 1fr;} .cap-row .arrow{display:none;} }

/* ---------------- Editorial rows (portfolio list) ---------------- */
.work-row{position:relative;border-top:1px solid var(--line);display:grid;grid-template-columns:100px 1fr auto auto;align-items:center;gap:24px;padding:28px 0;}
.work-list .work-row:last-child{border-bottom:1px solid var(--line);}
.work-row .yr{color:var(--text-dim);font-size:14.5px;font-weight:600;}
.work-row .title{font-family:'Baloo 2';font-size:clamp(20px,2.8vw,32px);transition:color .3s ease;}
.work-row .cat{color:var(--text-dim);font-size:14px;justify-self:end;}
.work-row .go{width:38px;height:38px;border-radius:50%;border:1.5px solid var(--line);display:flex;align-items:center;justify-content:center;font-family:'Baloo 2';font-size:18px;transition:background .3s ease, border-color .3s ease, transform .3s ease;flex:none;}
.work-row:hover .title{color:var(--rust);}
.work-row:hover .go{background:var(--yolk);border-color:var(--yolk);color:#1A1508;transform:rotate(45deg);}
.work-thumb{position:fixed;top:0;left:0;width:280px;height:200px;border-radius:14px;overflow:hidden;pointer-events:none;opacity:0;transform:scale(.92);transition:opacity .25s ease, transform .25s ease;z-index:60;box-shadow:0 30px 60px -20px rgba(0,0,0,.7);}
.work-thumb img{width:100%;height:100%;object-fit:cover;}
.work-thumb.show{opacity:1;transform:scale(1);}
@media(max-width:720px){ .work-row{grid-template-columns:1fr auto;} .work-row .yr,.work-row .cat{display:none;} .work-thumb{display:none;} }

/* filter tabs (work.html) */
.case-filter{display:flex;gap:10px;flex-wrap:wrap;margin-top:30px;}
.filter-btn{padding:9px 18px;border-radius:100px;font-size:13.5px;font-weight:700;background:transparent;border:1.5px solid var(--line);color:var(--text-dim);cursor:pointer;transition:background .2s ease, color .2s ease, border-color .2s ease;}
.filter-btn.active,.filter-btn:hover{background:var(--yolk);color:#1A1508;border-color:var(--yolk);}

/* ---------------- Marquee (clients) ---------------- */
.clients{border-top:1px solid var(--line);border-bottom:1px solid var(--line);padding:0 !important;}
.clients-track-wrap{overflow:hidden;-webkit-mask-image:linear-gradient(90deg,transparent,#000 8%,#000 92%,transparent);mask-image:linear-gradient(90deg,transparent,#000 8%,#000 92%,transparent);}
.clients-track,.pvm-marquee-track{display:flex;gap:16px;width:max-content;animation:pvm-marq 20s linear infinite;padding:30px 0;}
.client-chip{padding:16px 30px;border:1px solid var(--line);border-radius:100px;font-family:'Baloo 2';font-weight:700;font-size:17px;color:var(--text-dim);white-space:nowrap;}

/* ---------------- Team ---------------- */
.team-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:2px;background:var(--line);}
@media(max-width:860px){ .team-grid{grid-template-columns:repeat(2,1fr);} }
.team-card{background:var(--bg);position:relative;overflow:hidden;aspect-ratio:3/4;}
.team-card img,.team-photo img{width:100%;height:100%;object-fit:cover;filter:grayscale(1) contrast(1.05);transition:filter .5s ease, transform .5s ease;}
.team-card:hover img,.team-card:hover .team-photo img{filter:grayscale(0);transform:scale(1.05);}
.team-caption{position:absolute;left:0;right:0;bottom:0;padding:22px;background:linear-gradient(0deg, rgba(18,16,11,.94), transparent);}
.team-caption h3{font-size:17px;margin-bottom:3px;}
.team-caption span{font-size:12.5px;color:var(--yolk);font-weight:700;}
.team-caption p{font-size:12.5px;color:var(--text-dim);margin-top:8px;line-height:1.5;}

/* ---------------- Generic content cards (contact / faq / options) ---------------- */
.card, .contact-item, .faq-item, .side-card, .hours-card, .location-card, .culture-card, .why-card{
  background:var(--surface);
  border:1px solid var(--line);
  border-radius:16px;
}
.contact-item{display:flex;align-items:center;gap:16px;padding:22px 24px;transition:border-color .2s ease, transform .2s ease;}
.contact-item:hover{border-color:var(--yolk);transform:translateX(4px);}
.contact-item .ic{width:44px;height:44px;border-radius:12px;background:var(--yolk);color:#1A1508;display:flex;align-items:center;justify-content:center;font-size:19px;flex:none;}
.contact-item b{display:block;font-size:12px;opacity:.6;font-weight:700;text-transform:uppercase;letter-spacing:.03em;margin-bottom:3px;color:var(--text-dim);}
.contact-item span{font-weight:700;font-size:16px;color:var(--text);}

.hours-card,.location-card{padding:32px;}
.hours-card h3,.location-card h3{font-size:19px;margin-bottom:16px;}
.hours-row{display:flex;justify-content:space-between;padding:10px 0;border-bottom:1px solid var(--line);font-size:14.5px;color:var(--text-dim);}
.hours-row:last-child{border-bottom:none;}
.hours-row span:last-child{font-weight:700;color:var(--text);}
.location-card p{color:var(--text-dim);font-size:14.5px;margin-bottom:18px;}
.map-placeholder{width:100%;aspect-ratio:16/9;border-radius:12px;background:linear-gradient(120deg, rgba(246,195,49,.18), rgba(193,89,44,.16)), repeating-linear-gradient(45deg, rgba(23,19,16,.04) 0 2px, transparent 2px 14px);display:flex;align-items:center;justify-content:center;font-family:'Baloo 2';font-weight:700;font-size:14px;color:var(--rust);text-align:center;padding:16px;}

.faq-item{padding:24px 28px;margin-bottom:14px;}
.faq-item h3{font-size:17px;margin-bottom:8px;}
.faq-item p{font-size:14.5px;color:var(--text-dim);}
.faq-item a{color:var(--rust);text-decoration:underline;}

.why-card,.culture-card{padding:32px 30px;}
.why-card.featured{background:var(--yolk);border-color:var(--yolk);}
.why-card.featured *{color:#1A1508 !important;}
.why-icon{width:52px;height:52px;border-radius:12px;background:var(--surface-2);display:flex;align-items:center;justify-content:center;margin-bottom:22px;padding:10px;}
.why-icon img{width:100%;height:100%;object-fit:contain;filter:invert(0);}
.why-card.featured .why-icon{background:rgba(26,21,8,.15);}
.why-card h3,.culture-card h3{font-size:19px;margin-bottom:10px;}
.why-card p,.culture-card p{font-size:14.5px;color:var(--text-dim);}
.why-card.featured p{color:rgba(26,21,8,.75) !important;}
.why-grid,.culture-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:24px;}
@media(max-width:860px){ .why-grid,.culture-grid{grid-template-columns:1fr;} }

/* ---------------- Journey / timeline (real sequence) ---------------- */
.journey-track{display:grid;grid-template-columns:repeat(4,1fr);gap:22px;position:relative;}
.journey-track::before{content:"";position:absolute;top:11px;left:0;right:0;height:1px;background:var(--line);}
@media(max-width:860px){ .journey-track{grid-template-columns:1fr;} .journey-track::before{display:none;} }
.journey-item{position:relative;padding-top:34px;}
.journey-dot{position:absolute;top:0;left:0;width:22px;height:22px;border-radius:50%;background:var(--bg);border:2.5px solid var(--yolk-deep);transition:transform .3s ease, box-shadow .3s ease;}
.journey-item.now .journey-dot{background:var(--rust);border-color:var(--rust);}
.journey-item:hover .journey-dot{transform:scale(1.2);box-shadow:0 0 0 6px rgba(246,195,49,.18);}
.journey-year{font-weight:700;color:var(--rust);font-size:13.5px;margin-bottom:6px;display:block;}
.journey-item h3{font-size:19px;margin-bottom:8px;}
.journey-item p{font-size:14.5px;color:var(--text-dim);}

/* ---------------- Stats / track record ---------------- */
.track-record{display:grid;grid-template-columns:repeat(5,1fr);gap:1px;background:var(--line);border-radius:16px;overflow:hidden;}
@media(max-width:900px){ .track-record{grid-template-columns:repeat(2,1fr);} }
.track-cell{background:var(--surface);padding:26px 22px;display:flex;flex-direction:column;gap:6px;}
.track-cell b{font-family:'Baloo 2';font-size:28px;color:var(--rust);line-height:1.1;}
.track-cell span{font-size:13px;color:var(--text-dim);line-height:1.4;}
.hero-stats{display:flex;gap:40px;flex-wrap:wrap;}
.hero-stats div{display:flex;flex-direction:column;gap:3px;}
.hero-stats div b{font-family:'Baloo 2';font-size:26px;color:var(--rust);}
.hero-stats div span{font-size:13px;color:var(--text-dim);}

/* ---------------- Case study pages ---------------- */
.case-hero{position:relative;padding:168px 0 40px;overflow:hidden;}
.case-type{color:var(--rust);font-weight:700;font-size:14.5px;display:block;margin-bottom:14px;position:relative;z-index:2;}
.case-hero h1{font-size:clamp(34px,5.6vw,58px);position:relative;z-index:2;}
.case-hero .subline{font-size:17.5px;color:var(--text-dim);max-width:60ch;margin-top:18px;position:relative;z-index:2;}
.back-pill{display:inline-flex;align-items:center;gap:8px;font-size:14px;font-weight:700;padding:9px 16px;border-radius:100px;border:1.5px solid var(--line);color:var(--text);transition:border-color .2s ease;}
.back-pill:hover{border-color:var(--yolk);}

.case-body-section{padding:30px 0 90px;}
.case-layout{display:grid;grid-template-columns:340px 1fr 300px;gap:36px;align-items:start;}
@media(max-width:980px){ .case-layout{grid-template-columns:1fr;} }
.case-sidebar{position:sticky;top:96px;display:flex;flex-direction:column;gap:22px;}
@media(max-width:980px){ .case-sidebar{position:static;max-width:380px;margin:0 auto;} }
.case-visual{background:var(--surface);border-radius:20px;border:1px solid var(--line);box-shadow:0 24px 44px -28px rgba(0,0,0,.5);padding:14px;}
.case-visual img{width:100%;height:auto;border-radius:12px;display:block;}
.case-copy h2{font-size:22px;margin:32px 0 12px;color:var(--text);}
.case-copy h2:first-child{margin-top:0;}
.case-copy p{color:var(--text-dim);margin-bottom:6px;}

.case-gallery h3{font-size:13px;text-transform:uppercase;letter-spacing:.04em;color:var(--text-faint);margin-bottom:16px;}
.gallery-grid{display:grid;grid-template-columns:1fr;gap:16px;}
.gallery-item{background:var(--surface);border:1px solid var(--line);border-radius:16px;padding:18px;aspect-ratio:4/3;display:flex;align-items:center;justify-content:center;overflow:hidden;box-shadow:0 16px 30px -22px rgba(0,0,0,.5);transition:transform .2s ease, border-color .2s ease;}
.gallery-item:hover{transform:translateY(-4px);border-color:var(--yolk);}
.gallery-item img{width:100%;height:100%;object-fit:contain;border-radius:10px;display:block;}
.gallery-item.dark{background:#0A0906;}

.meta-card{background:var(--surface);border:1px solid var(--line);border-radius:20px;padding:30px;height:fit-content;}
.meta-card h3{font-size:12.5px;letter-spacing:.03em;color:var(--rust);margin-bottom:18px;text-transform:uppercase;}
.meta-row{display:flex;justify-content:space-between;gap:16px;padding:12px 0;border-bottom:1px solid var(--line);font-size:14.5px;}
.meta-row:last-of-type{border-bottom:none;}
.meta-row span:first-child{color:var(--text-dim);}
.meta-row span:last-child{font-weight:600;text-align:right;}
.deliverables{display:flex;flex-wrap:wrap;gap:8px;margin-top:20px;}
.deliverables span{border:1px solid var(--line);padding:7px 13px;border-radius:100px;font-size:12.5px;font-weight:600;color:var(--text-dim);}

.case-nav{border-top:1px solid var(--line);padding:32px 0 60px;display:flex;justify-content:space-between;gap:20px;flex-wrap:wrap;}
.case-nav a{font-weight:700;font-size:15px;color:var(--rust);display:inline-flex;align-items:center;gap:4px;transition:gap .18s ease;}
.case-nav a:hover{gap:9px;}

.video-embed h3{font-size:13px;text-transform:uppercase;letter-spacing:.04em;color:var(--text-faint);margin-bottom:16px;}
.video-frame{position:relative;width:100%;max-width:560px;aspect-ratio:16/9;border-radius:16px;overflow:hidden;box-shadow:0 20px 40px -24px rgba(0,0,0,.6);background:#000;}
.video-frame iframe{position:absolute;inset:0;width:100%;height:100%;border:0;}
.video-embed .ig-wrap{max-width:400px;}

/* ---------------- Closing CTA ---------------- */
.closing{position:relative;overflow:hidden;}
.closing h2{font-size:clamp(34px,6vw,80px);max-width:16ch;position:relative;z-index:2;}
.closing h2 em{font-style:normal;color:var(--rust);}
.closing p{color:var(--text-dim);max-width:44ch;margin:22px 0 32px;position:relative;z-index:2;font-size:16.5px;}
.closing .wrap{position:relative;z-index:2;}

/* ---------------- Options / step / recommendation cards ---------------- */
.options-list, .step-list{display:grid;gap:16px;}
.overview-list{list-style:none;display:grid;gap:10px;}
.overview-list li{padding:14px 18px;background:var(--surface);border:1px solid var(--line);border-radius:12px;font-weight:600;font-size:15px;display:flex;align-items:center;gap:10px;color:var(--text);}
.overview-list li::before{content:"";width:8px;height:8px;border-radius:2px;background:var(--yolk);flex:none;}
.overview-side{border-left:2px solid var(--yolk);padding-left:26px;}
.overview-side p{font-size:19px;font-style:italic;margin-bottom:24px;line-height:1.5;color:var(--text-dim);}
.pill{border:1px solid var(--line);padding:8px 16px;border-radius:100px;font-size:13.5px;font-weight:600;color:var(--text-dim);}
.capability-row{display:flex;flex-wrap:wrap;gap:10px;margin-top:8px;}

/* ---------------- Form elements (start-a-project) ---------------- */
form{background:var(--surface);border:1px solid var(--line);border-radius:24px;padding:40px;}
@media(max-width:560px){ form{padding:26px;} }
.field-group{margin-bottom:26px;}
.field-group label{display:block;font-weight:700;font-size:14.5px;margin-bottom:9px;color:var(--text);}
.field-group .hint{font-weight:500;opacity:.55;font-size:13px;margin-left:6px;}
.two-col{display:grid;grid-template-columns:1fr 1fr;gap:18px;}
@media(max-width:520px){ .two-col{grid-template-columns:1fr;} }
input[type="text"], input[type="email"], input[type="tel"], select, textarea{
  width:100%;padding:14px 16px;border-radius:12px;border:1px solid var(--line);background:var(--bg);
  font-family:'Plus Jakarta Sans';font-size:15.5px;color:var(--text);transition:border-color .15s;
}
input::placeholder, textarea::placeholder{color:var(--text-faint);}
input:focus, select:focus, textarea:focus{outline:none;border-color:var(--yolk);}
textarea{resize:vertical;min-height:120px;}
.chip-group{display:flex;flex-wrap:wrap;gap:10px;}
.chip{position:relative;}
.chip input{position:absolute;opacity:0;width:0;height:0;}
.chip label{display:inline-flex;align-items:center;gap:8px;padding:11px 18px;border-radius:100px;border:1px solid var(--line);font-size:14.5px;font-weight:600;cursor:pointer;background:var(--bg);color:var(--text-dim);transition:background .15s, border-color .15s, color .15s;}
.chip input:checked + label{background:var(--yolk);color:#1A1508;border-color:var(--yolk);}
.budget-group{display:grid;grid-template-columns:repeat(2,1fr);gap:10px;}
@media(max-width:520px){ .budget-group{grid-template-columns:1fr;} }
.radio-card{position:relative;}
.radio-card input{position:absolute;opacity:0;width:0;height:0;}
.radio-card label{display:block;padding:14px 16px;border-radius:12px;border:1px solid var(--line);font-weight:600;font-size:14.5px;cursor:pointer;background:var(--bg);color:var(--text-dim);transition:border-color .15s, background .15s, color .15s;}
.radio-card input:checked + label{border-color:var(--rust);background:rgba(193,89,44,.08);color:var(--rust);}
.submit-row{display:flex;align-items:center;gap:18px;margin-top:8px;flex-wrap:wrap;}
.submit-note{font-size:13.5px;color:var(--text-dim);}
.required-note{font-size:13px;color:var(--text-faint);margin-bottom:28px;}
#successMsg{display:none;background:var(--yolk);border-radius:24px;padding:44px 40px;color:#1A1508;}
#successMsg h2{font-size:26px;margin-bottom:10px;}
#successMsg p{opacity:.85;margin-bottom:22px;}
#successMsg .btn-primary{background:#1A1508;color:var(--yolk);}

/* ---------------- Footer ---------------- */
footer{border-top:1px solid var(--line);padding:56px 0 34px;}
.footer-top{display:flex;justify-content:space-between;flex-wrap:wrap;gap:32px;margin-bottom:40px;}
.footer-brand{font-family:'Baloo 2';font-weight:800;font-size:22px;display:flex;align-items:center;gap:10px;}
.footer-brand img{width:28px;height:28px;}
.footer-links{display:flex;gap:40px;flex-wrap:wrap;}
.footer-col h4{font-size:13px;color:var(--text-dim);margin-bottom:14px;font-weight:600;}
.footer-col a{display:block;font-size:14.5px;margin-bottom:9px;color:var(--text-dim);transition:color .2s ease;}
.footer-col a:hover{color:var(--rust);}
.footer-bottom{display:flex;justify-content:space-between;flex-wrap:wrap;gap:12px;font-size:13px;color:var(--text-dim);border-top:1px solid var(--line);padding-top:24px;}
footer .wrap > span, footer .wrap > a{color:var(--text-dim);}

@media (prefers-reduced-motion: reduce){
  *{animation-duration:.001ms !important; animation-iteration-count:1 !important; transition-duration:.001ms !important;}
}
