:root{

  --base-slate:#251b1c;
  --base-slate-alt:#14110e;
  --base-primary:#e7b198;
  --base-primary-dark:#bd5d3d;
  --base-sky:#f0e5d7;
  --base-sky-soft:#e7dbcc;
  --base-body:#f7efe9;
  --base-paper:#fffffd;
  --base-foreground:#2b241e;
  --base-foreground-alt:#5e524a;
  --base-faint:#8b7f75;
  --base-rule:#e7dbcc;
  --base-rule-alt:#ded4c0;
  --base-primary-soft:#f6e7e1;
  --base-green:#5d7866; --base-green-bg:#e8eeea; --base-green-bd:#d2ded6;
  --base-stop:#a9492c;   --base-stop-bg:#f3ded6;   --base-stop-bd:#e5c4b6;
  --base-gold:#c9a44b;

  --base-sp-1:4px; --base-sp-2:8px; --base-sp-3:12px; --base-sp-4:16px; --base-sp-6:24px;
  --base-sp-8:32px; --base-sp-10:40px; --base-sp-12:48px; --base-sp-16:64px;

  --base-r-sm:10px; --base-r-md:14px; --base-r-lg:18px; --base-r-xl:24px; --base-r-2xl:30px; --base-r-pill:999px;

  --base-sd-sm:0 2px 10px rgba(43,36,30,.05);
  --base-sd-md:0 12px 34px rgba(43,36,30,.09);
  --base-sd-lg:0 24px 60px rgba(43,36,30,.15);

  --base-face:'Helvetica Neue',Helvetica,Arial,system-ui,'Segoe UI',sans-serif;
  --base-display:Georgia,'Iowan Old Style','Times New Roman',serif;
  --base-font-accent:Georgia,'Iowan Old Style','Times New Roman',serif;
  --base-shell:1200px;
  --base-edge-x:clamp(16px,4vw,44px);
}

*{box-sizing:border-box}
html{scrollbar-gutter:stable;overflow-x:hidden;scroll-behavior:smooth;-webkit-text-size-adjust:100%;scroll-padding-top:76px}
body{font-family:var(--base-face);font-size:16.5px;color:var(--base-foreground);line-height:1.62;
  background:var(--base-body);-webkit-font-smoothing:antialiased;overflow-x:hidden;margin:0}
img{height:auto;display:block;width:100%}
a{text-decoration:none;color:inherit}
button{font-family:inherit}
h1,h2{font-family:var(--base-display);font-weight:450;line-height:1.08;margin:0;letter-spacing:-.015em;font-optical-sizing:auto}
h3{letter-spacing:-.005em;font-family:var(--base-face);line-height:1.25;font-weight:700;margin:0}
::selection{background:var(--base-primary);color:var(--base-slate)}
:focus-visible{outline:3px solid var(--base-primary-dark);border-radius:4px;outline-offset:2px}
.shot__strip{padding-bottom:8px;overflow-x:auto;gap:20px;scrollbar-width:none;
  scroll-snap-type:x mandatory;display:flex}
.shot__strip::-webkit-scrollbar{display:none}
.shot-item{border-radius:var(--base-r-xl);scroll-snap-align:start;background:var(--base-sky);
  box-shadow:var(--base-sd-md);flex:0 0 clamp(280px,42%,440px);position:relative;margin:0;
  overflow:hidden;border:1px solid var(--base-rule)}
.shot-item .view{object-fit:cover;width:100%;aspect-ratio:4/3}
.shot-item figcaption{left:0;background:linear-gradient(180deg,transparent,rgba(20,17,14,.8));padding:26px 18px 16px;color:#fffffd;font-weight:600;
  position:absolute;right:0;bottom:0;font-size:15px}

.jobs-grid{gap:22px;display:grid;grid-template-columns:repeat(3,1fr)}
.locator svg,.agency-place svg{width:16px;height:16px}
.nav-screen{background:rgba(20,17,14,.51);visibility:hidden;inset:0;opacity:0;position:fixed;transition:opacity .25s,visibility .25s;z-index:1090}
.nav-screen.active{opacity:1;visibility:visible}
.body-nav .btn{margin-left:8px}

.page-banner{position:relative;background:var(--base-slate);
  background-image:linear-gradient(rgba(20,17,14,.8),rgba(20,17,14,.9)),var(--hero-img,linear-gradient(120deg,var(--base-slate-alt),var(--base-slate)));
  color:#fffffd;background-size:cover;background-position:center}
.page-banner .wrapper{padding-block:clamp(88px,9vw,110px) clamp(40px,6vw,64px)}
.page-banner h1{font-family:var(--base-display);font-size:clamp(32px,4.5vw,48px);font-weight:450;font-optical-sizing:auto;letter-spacing:-.015em;margin:8px 0}
.page-banner .wrapper>p{font-size:17.5px;color:rgba(247,238,226,.87);max-width:640px}
.page-banner--form .wrapper{padding-bottom:clamp(48px,7vw,72px)}
.page-banner--form .banner__grid{margin-top:var(--base-sp-4)}
.banner__name{letter-spacing:-.025em;font-family:var(--base-display);font-weight:450;line-height:1.02;
  font-optical-sizing:auto;color:#fffffd;font-size:clamp(40px,6.2vw,70px);margin-top:22px;
  text-shadow:0 2px 30px rgba(20,17,14,.38)}
.banner__intro{max-width:520px;margin-top:22px;color:rgba(247,238,226,.94);font-size:clamp(16px,2.1vw,20px)}
.banner__btns{flex-wrap:wrap;margin-top:30px;display:flex;gap:16px;align-items:center}

.review-row{padding:28px 30px;z-index:10;border-radius:var(--base-r-xl);display:grid;
  background:var(--base-paper);margin-top:-96px;gap:26px;
  border:1px solid var(--base-rule);grid-template-columns:repeat(3,1fr) auto;box-shadow:var(--base-sd-lg);position:relative;align-items:center}
.review-item{align-items:flex-start;display:flex;gap:15px}
.review-item>div>strong{font-weight:700;font-size:16px;line-height:1.25;display:block}
.review-item>div>span{margin-top:3px;font-size:14px;color:var(--base-foreground-alt);display:block}
.eyebrow{text-transform:uppercase;font-weight:700;color:var(--base-primary-dark);
  gap:9px;font-size:12.5px;display:inline-flex;
  letter-spacing:.14em;align-items:center}
.eyebrow::before{content:"";background:var(--base-primary-dark);height:8px;flex:none;
  border-radius:50%;width:8px}
.review-score{align-items:center;gap:14px;display:flex;border-left:1px solid var(--base-rule);padding-left:26px}
.pic{background:var(--base-sky);border-radius:50%;object-fit:cover;width:38px;border:2px solid var(--base-paper);height:38px}
.pic+.pic{margin-left:-12px}
.pic--more{color:#fffffd;display:grid;margin-left:-12px;border:2px solid var(--base-paper);
  font-size:12px;place-items:center;width:38px;height:38px;font-weight:700;background:var(--base-slate);border-radius:50%}

.menu-btn{gap:5px;background:none;display:none;border:none;padding:6px;flex-direction:column;top:16px;cursor:pointer;right:18px;position:fixed;z-index:1105}
.menu-btn span{background:var(--base-foreground);display:block;width:26px;border-radius:2px;height:3px;transition:transform .3s ease,opacity .3s ease}
.menu-btn.active span:nth-child(1){transform:rotate(45deg) translate(7px,7px)}
.menu-btn.active span:nth-child(2){opacity:0}
.menu-btn.active span:nth-child(3){transform:rotate(-45deg) translate(7px,-7px)}
.shines .shine{opacity:.28}.shines .shine.full{opacity:1}

.shot__head{gap:16px;justify-content:space-between;align-items:flex-end;display:flex;
  margin-bottom:36px;flex-wrap:wrap}
.shot__head .ttl{margin-top:14px}
.shot__ctrl{display:flex;gap:10px}
.shines{display:inline-flex;gap:2px;color:var(--base-gold)}
.shines svg,.shine{width:16px;height:16px;fill:var(--base-gold)}
.milestone-tile{border:1px solid var(--base-rule);box-shadow:var(--base-sd-sm);background:var(--base-paper);position:relative;
  padding:30px 28px;border-radius:var(--base-r-xl)}
.milestone-tile:not(:last-child)::after{content:"";z-index:1;position:absolute;background:var(--base-rule-alt);right:-15px;top:56px;width:30px;height:2px}
.milestone-rank{font-family:var(--base-display);font-weight:500;width:56px;place-items:center;
  margin-bottom:20px;height:56px;border-radius:16px;color:var(--base-primary-dark);background:var(--base-primary-soft);font-size:20px;display:grid}
.milestone-name{margin:0 0 8px;font-family:var(--base-face);font-weight:700;font-size:19px}
.milestone-para{color:var(--base-foreground-alt);margin:0;font-size:14.5px}

.banner{color:#fffffd;position:relative;
  background:var(--base-slate);
  background-image:linear-gradient(100deg,rgba(20,17,14,.9),rgba(20,17,14,.68) 45%,rgba(20,17,14,.3) 82%),var(--hero-img,linear-gradient(120deg,#3a2c26,#251b1c));background-size:cover;background-position:center}
.banner__core{padding-block:clamp(88px,11vw,120px) clamp(120px,16vw,190px)}
.banner__grid{gap:48px;grid-template-columns:1.1fr .9fr;display:grid;align-items:center}
.banner__para{max-width:640px}
.banner .eyebrow,.badge-pill{box-shadow:none;gap:8px;padding:8px 15px;text-transform:uppercase;
  border-radius:var(--base-r-pill);align-items:center;font-weight:650;
  display:inline-flex;letter-spacing:.06em;border:1px solid rgba(255,255,253,.24);font-size:12.5px;backdrop-filter:blur(6px);color:#fffffd;background:rgba(255,255,253,.09)}
.job-tile--top .done-items li::before{color:var(--base-primary)}
.job-tile--top .done-items li{color:rgba(247,238,226,.8)}

.site-top{z-index:100;background:rgba(237,243,251,.8);top:0;left:0;position:fixed;
  border-bottom:1px solid var(--base-rule);right:0;
  backdrop-filter:blur(14px)}
.site-top__core{padding-block:14px;display:flex;gap:24px;align-items:center}
.badge-pill::before{border-radius:50%;content:"";width:9px;height:9px;background:var(--base-primary)}

.btn{padding:15px 26px;display:inline-flex;justify-content:center;cursor:pointer;
  font-weight:650;gap:10px;border-radius:var(--base-r-pill);
  min-height:54px;align-items:center;font-size:15.5px;white-space:nowrap;
  transition:background .18s,color .18s,transform .18s,box-shadow .18s;border:1px solid transparent}
.btn svg{width:18px;height:18px}
.btn:hover{transform:translateY(-2px)}
.btn--sm{font-size:14px;min-height:0;padding:10px 18px}
.btn--xl{min-height:60px;padding:18px 32px;font-size:16.5px}
.btn--wide{width:100%}
.btn--cta{box-shadow:0 10px 24px rgba(189,93,61,.24);color:#fffffd;background:var(--base-primary-dark)}
.btn--cta:hover{color:#fffffd;background:#a24b2d;box-shadow:0 16px 32px rgba(189,93,61,.29)}
.btn--hl{background:var(--base-primary-dark);box-shadow:0 10px 24px rgba(189,93,61,.29);color:#fffffd}
.btn--hl:hover{color:#fffffd;background:#a24b2d}
.btn--soft{color:var(--base-foreground);background:var(--base-paper);border-color:var(--base-rule)}
.btn--soft:hover{background:var(--base-sky)}
.btn--inverse{background:var(--base-slate);color:#fffffd}
.btn--inverse:hover{background:var(--base-slate-alt)}
.btn--plain{background:var(--base-paper);color:var(--base-slate)}
.btn--plain:hover{background:var(--base-sky)}
.agency-tile{transition:box-shadow .2s,transform .2s;display:flex;padding:20px;border:1px solid var(--base-rule);
  border-radius:var(--base-r-lg);gap:16px;align-items:flex-start;box-shadow:var(--base-sd-sm);
  background:var(--base-paper)}
.agency-tile:hover{box-shadow:var(--base-sd-md);transform:translateY(-3px)}
.agency-icon{background:linear-gradient(150deg,var(--base-slate),var(--base-primary-dark));height:60px;font-family:var(--base-display);border-radius:16px;font-weight:600;line-height:1;display:grid;
  font-size:22px;width:60px;place-items:center;
  flex:none;position:relative;color:#fffffd;overflow:hidden}
.agency-icon::after{position:absolute;content:"";background:linear-gradient(150deg,rgba(255,255,253,.23),transparent 62%);inset:0}
.agency-meta{display:flex;gap:8px;min-width:0;flex:1;flex-direction:column}
.agency-head{justify-content:space-between;align-items:flex-start;gap:10px;display:flex}
.agency-head h3{line-height:1.25;font-size:17px}
.ic-square{width:48px;display:grid;height:48px;flex:none;background:var(--base-primary-soft);
  color:var(--base-primary-dark);border-radius:14px;place-items:center}
.ic-square svg{width:23px;height:23px}
.place-tile{box-shadow:var(--base-sd-md);background:var(--base-sky);overflow:hidden;border-radius:var(--base-r-xl);
  position:relative;border:1px solid var(--base-rule);aspect-ratio:4/3}
.place-tile iframe{position:absolute;width:100%;height:100%;display:block;border:0;inset:0}
.place-tile.loaded .place-holder{display:none}
.place-later{cursor:pointer}
.place-holder{font-weight:700;width:100%;justify-content:center;height:100%;color:var(--base-foreground);position:absolute;
  cursor:pointer;background:linear-gradient(135deg,#f0e6da,#e7dbcc);display:flex;border:0;inset:0;flex-direction:column;
  padding:24px;text-align:center;align-items:center;gap:14px;font-size:17px}
.place-locator{box-shadow:var(--base-sd-md);height:56px;border-radius:50% 50% 50% 4px;transform:rotate(-45deg);background:var(--base-slate);display:grid;
  width:56px;place-items:center}
.place-locator::after{width:16px;content:"";background:var(--base-primary);height:16px;border-radius:50%}
.place-holder p{font-size:14px;max-width:260px;font-weight:500;color:var(--base-foreground-alt);margin:0}
.brand{color:var(--base-foreground);font-family:var(--base-display);gap:12px;
  font-weight:500;letter-spacing:-.015em;display:inline-flex;align-items:center;font-size:22px}
.brand__icon{width:42px;flex:none;position:relative;display:inline-grid;
  place-items:center;height:42px;border-radius:13px;box-shadow:0 8px 18px rgba(189,93,61,.23);background:linear-gradient(150deg,var(--base-primary-dark),var(--base-primary))}
.brand__icon::after{width:15px;content:"";border-radius:50% 50% 50% 4px;transform:rotate(-45deg);
  background:#fffffd;height:15px}
.review-hint{font-size:13px;color:var(--base-foreground-alt)}
.review-hint strong{font-family:var(--base-display);font-weight:500;color:var(--base-foreground);font-size:16px}
.review-a{color:var(--base-foreground-alt)}

.call__panel{padding:clamp(44px,6vw,76px);background:linear-gradient(120deg,var(--base-slate),var(--base-slate-alt));
  text-align:center;border-radius:var(--base-r-2xl);overflow:hidden;position:relative}
.call__deco{position:absolute;top:-40px;pointer-events:none;width:240px;background:radial-gradient(circle,rgba(201,164,75,.28),transparent 70%);height:240px;
  right:-40px;border-radius:50%}
.call__para{margin:0 auto;max-width:640px;position:relative}
.call__para .ttl{color:#fffffd}
.call__para p{font-size:18px;color:rgba(247,238,226,.8);margin:18px 0 32px}
.call__para .btn{margin-top:0}
.score{gap:8px;align-items:center;display:flex;flex-wrap:wrap}
.score .rank{font-weight:700;font-size:14px}
.score .total{font-size:13px;color:var(--base-faint)}
.watch-a{color:#fffffd;align-items:center;display:inline-flex;font-weight:650;font-size:16px;gap:10px}
.watch-a:hover{color:var(--base-primary)}
.watch-a .watch{width:46px;transition:background .18s,transform .18s;border-radius:50%;background:rgba(255,255,253,.14);
  display:inline-flex;height:46px;align-items:center;border:1px solid rgba(255,255,253,.29);
  justify-content:center}
.watch-a:hover .watch{background:rgba(255,255,253,.23);transform:scale(1.06)}
.watch-a .watch::after{border-left:10px solid #fffffd;border-top:7px solid transparent;margin-left:3px;width:0;
  height:0;border-bottom:7px solid transparent;content:""}
.tally-rank{letter-spacing:-.02em;font-family:var(--base-display);font-weight:450;
  font-optical-sizing:auto;color:var(--base-slate);font-size:clamp(36px,5vw,56px);line-height:1}
.tally-para{font-size:15px;margin-top:10px;color:var(--base-foreground-alt)}
.score{gap:6px;display:flex;align-items:center}

.tallies-grid{grid-template-columns:repeat(4,1fr);display:grid;gap:24px;text-align:center}
.banner__perks{gap:12px;padding:0;margin-top:38px;max-width:520px;grid-template-columns:1fr 1fr;
  display:grid;list-style:none}
.ttl{font-family:var(--base-display);margin:0;font-weight:450;
  line-height:1.08;letter-spacing:-.015em;font-optical-sizing:auto;font-size:clamp(28px,4.2vw,48px)}
.agency-place{align-items:flex-start;display:flex;gap:8px;color:var(--base-foreground-alt);font-size:14px}
.agency-place .locator{margin-top:2px;flex:none}
.field{width:100%;background:var(--base-paper);padding:14px 15px;border:1px solid var(--base-rule-alt);
  color:var(--base-foreground);font-size:15.5px;font-family:inherit;border-radius:14px}
.field:focus{box-shadow:0 0 0 3px rgba(31,113,226,.16);outline:none;border-color:var(--base-primary-dark)}

.milestones-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:22px}
.badge{gap:6px;font-weight:700;border-radius:var(--base-r-pill);flex:none;align-items:center;
  border:1px solid transparent;font-size:12px;padding:5px 11px;display:inline-flex}
.badge .dot{line-height:1;font-size:10px}
.badge--open{color:var(--base-green);background:var(--base-green-bg);border-color:var(--base-green-bd)}
.badge--off{color:var(--base-stop);border-color:var(--base-stop-bd);background:var(--base-stop-bg)}
.plus-items{display:grid;margin:26px 0 0;gap:13px;list-style:none;padding:0}
.plus-items li{align-items:flex-start;display:flex;font-weight:500;gap:12px}
.plus-items li::before{font-size:12px;flex:none;color:#fffffd;display:grid;font-weight:800;height:22px;
  background:var(--base-primary-dark);content:"\2713";place-items:center;border-radius:7px;margin-top:2px;width:22px}
.trail{list-style:none;display:flex;flex-wrap:wrap;font-size:13px;color:rgba(247,238,226,.78);margin:0;padding:12px 0 24px;align-items:center}
.trail li+li::before{content:"\203A";margin-inline:6px;opacity:.6}
.trail a{color:rgba(247,238,226,.78)}
.trail a:hover{color:#fffffd}
.trail li:last-child{font-weight:600;color:#fffffd}

.banner .hl{color:var(--base-primary)}
.cat{color:var(--base-foreground-alt);font-size:13px;margin-top:-3px}
.hl{font-family:var(--base-font-accent);font-style:italic;font-weight:400;color:var(--base-primary-dark)}

.pricing-tile{border-radius:var(--base-r-xl);background:var(--base-paper);border:1px solid var(--base-rule);
  padding:30px;box-shadow:var(--base-sd-lg);color:var(--base-foreground)}
.pricing-tile .ttl{margin:12px 0 4px;font-size:27px}
.pricing-tile .subtitle{margin:0 0 20px;font-size:15px;color:var(--base-foreground-alt)}
.pricing-tile .eyebrow{color:var(--base-primary-dark)}
.pricing-view{width:100%;border:0;background:var(--base-sky);min-height:520px;border-radius:var(--base-r-md)}
.perk{font-weight:500;background:rgba(255,255,253,.11);font-size:15px;color:#fffffd;border:1px solid rgba(255,255,253,.15);backdrop-filter:blur(6px);
  align-items:center;gap:11px;display:flex;border-radius:14px;padding:13px 15px}
.perk i{place-items:center;font-style:normal;width:24px;height:24px;flex:none;border-radius:50%;
  font-size:13px;background:var(--base-primary);color:var(--base-slate);font-weight:800;display:grid}

.story{display:grid;align-items:center;grid-template-columns:1fr 1fr;gap:clamp(32px,5vw,60px)}
.story__para .ttl{margin-top:16px}
.story__para>p{font-size:17px;color:var(--base-foreground-alt);margin:18px 0 0}
.story__subtitle{margin-top:16px}
.nav-a{padding-block:6px;position:relative;transition:color .18s;color:var(--base-foreground-alt);font-weight:600;font-size:15px}.nav-a::after{transition:transform .22s ease;position:absolute;background:var(--base-primary-dark);left:0;transform:scaleX(0);height:2px;content:"";width:100%;transform-origin:left;bottom:-2px}
.nav-a:hover{color:var(--base-primary-dark)}.nav-a:hover::after{transform:scaleX(1)}

.agencies-grid{grid-template-columns:repeat(2,1fr);gap:18px;display:grid}
.intro{color:var(--base-foreground-alt);font-size:clamp(16px,2vw,19px)}
.ctrl-btn{display:grid;place-items:center;height:52px;box-shadow:var(--base-sd-sm);cursor:pointer;
  font-size:20px;border-radius:50%;background:var(--base-paper);color:var(--base-foreground);width:52px;border:1px solid var(--base-rule)}
.ctrl-btn:hover{color:#fffffd;background:var(--base-slate);border-color:var(--base-slate)}
.ctrl-btn svg{width:20px;height:20px}
.drawer-mob{background:var(--base-paper);flex-direction:column;height:100%;top:0;transition:transform .3s cubic-bezier(.4,0,.2,1),visibility .3s;transform:translateX(100%);
  padding:84px 22px 22px;z-index:1100;overflow-y:auto;
  display:flex;visibility:hidden;
  box-shadow:var(--base-sd-lg);
  right:0;position:fixed;width:min(320px,86vw)}
.drawer-mob.active{transform:translateX(0);visibility:visible}
.drawer-mob nav{display:flex;flex-direction:column}
.drawer-mob a:not(.btn){border-bottom:1px solid var(--base-rule);font-weight:600;color:var(--base-foreground);padding:15px 2px;font-size:16px}
.drawer-mob a:not(.btn):hover{color:var(--base-primary-dark)}
.drawer-mob a.btn{justify-content:center;margin-top:var(--base-sp-6)}
.body-nav{margin-left:auto;display:flex;gap:28px;align-items:center}

.wrapper{margin:0 auto;padding-inline:var(--base-edge-x);max-width:var(--base-shell)}
.done-items{gap:10px;display:grid;list-style:none;padding:0;margin:0}
.done-items li{font-size:14.5px;color:var(--base-foreground-alt);display:flex;align-items:center;gap:10px}
.done-items li::before{color:var(--base-primary-dark);flex:none;font-weight:800;font-size:13px;content:"\2713"}
.zone{padding-block:clamp(52px,7.5vw,100px)}
.zone--second{background:var(--base-paper)}
.pics{display:flex}
.job-tile{flex-direction:column;border:1px solid var(--base-rule);padding:32px;
  background:var(--base-paper);transition:transform .2s,box-shadow .2s;gap:16px;border-radius:var(--base-r-xl);box-shadow:var(--base-sd-sm);
  display:flex}
.job-tile:hover{box-shadow:var(--base-sd-md);transform:translateY(-4px)}
.job-tile .ic-square{width:56px;border-radius:16px;height:56px;background:var(--base-primary-soft)}
.job-tile .ic-square svg{height:26px;width:26px}
.job-tile h3{font-size:21px}
.job-tile>p{flex:1;color:var(--base-foreground-alt);font-size:15.5px;margin:0}
.job-tile--top{background:var(--base-slate);border-color:var(--base-slate);color:#fffffd;background-image:radial-gradient(circle at 88% 12%,rgba(189,93,61,.38),transparent 46%),repeating-linear-gradient(135deg,rgba(255,255,253,.06) 0 14px,transparent 14px 28px)}
.job-tile--top h3{font-family:var(--base-display);font-weight:450;color:#fffffd;font-size:26px;letter-spacing:-.015em}
.job-tile--top>p{color:rgba(247,238,226,.8)}
.job-tile--top .ic-square{background:rgba(189,93,61,.21);color:var(--base-primary)}

.about{gap:clamp(20px,3vw,28px);display:grid}
.head-zone{text-align:center;margin:0 auto clamp(32px,5vw,52px);max-width:680px}
.head-zone .ttl{margin-top:14px}
.head-zone .intro{margin-top:16px}
@media(min-width:1024px){.about{grid-template-columns:1.05fr .95fr;gap:32px;align-items:start}}

.site-base .btn--cta{background:var(--base-primary);color:var(--base-slate)}
.site-base .btn--cta:hover{background:var(--base-sky);color:var(--base-slate)}

.sticky-call{position:fixed;border:1px solid var(--base-rule);background:var(--base-paper);border-radius:var(--base-r-lg);transition:transform .3s,opacity .3s;
  box-shadow:var(--base-sd-lg);right:20px;z-index:90;
  padding:22px 24px;bottom:20px;width:min(330px,calc(100vw - 40px))}
.sticky-call[hidden]{display:none}
.sticky-call::after{position:absolute;border-radius:inherit;pointer-events:none;animation:floatPulse 2.4s infinite;content:"";inset:0}
.sticky-close{top:10px;line-height:1;border:0;right:12px;background:none;color:var(--base-faint);
  cursor:pointer;font-size:20px;position:absolute}
.sticky-name{font-weight:700;font-size:16.5px;margin:0 26px 6px 0;font-family:var(--base-display);font-weight:500}
.sticky-para{font-size:14px;margin:0 0 14px;color:var(--base-foreground-alt)}
.sticky-tab{align-items:center;justify-content:center;z-index:89;color:var(--base-primary);width:62px;
  right:20px;border-radius:50% 50% 50% 8px;
  box-shadow:var(--base-sd-lg);position:fixed;bottom:20px;height:62px;cursor:pointer;background:var(--base-slate);animation:floatPulse 2.4s infinite;
  display:none;border:0}
.sticky-tab svg{height:27px;display:block;width:27px}
.sticky-tab:hover{transform:scale(1.05);animation-play-state:paused}
.council-row{margin:0;font-size:15px;gap:10px;align-items:flex-start;display:flex;color:var(--base-foreground-alt)}
.council-row a{font-weight:600;color:var(--base-primary-dark)}
.council-row .locator{flex:none;color:var(--base-faint);margin-top:1px}
.council-row svg{height:18px;width:18px}
.legal{font-size:13px;padding-top:22px;text-align:center;
  color:rgba(247,238,226,.71);border-top:1px solid rgba(255,255,253,.14);margin-top:38px}
.fact{align-items:center;background:var(--base-paper);border:1px solid var(--base-rule);padding:15px 16px;border-radius:var(--base-r-md);
  gap:12px;display:flex}
.fact-ic{border-radius:12px;background:var(--base-primary-soft);width:42px;place-items:center;height:42px;display:grid;color:var(--base-primary-dark);flex:none}
.fact-ic svg{height:20px;width:20px}
.fact-para dt{margin-bottom:3px;color:var(--base-faint);font-size:12.5px}
.fact-para dd{font-weight:700;margin:0;font-size:16px;line-height:1.15}
.opening{padding-left:28px;gap:5px;font-size:14px;display:grid;color:var(--base-foreground-alt)}
.about-council{display:grid;gap:12px;align-content:start;
  padding:24px;background:var(--base-paper);border:1px solid var(--base-rule);border-radius:var(--base-r-lg)}
.about-council h3{font-size:18px;margin:0 0 2px}
.time{justify-content:space-between;max-width:320px;display:flex;gap:16px}
.time strong{color:var(--base-foreground);font-weight:600}
.about-facts{gap:14px;display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));margin:0}

.site-base{padding-block:clamp(52px,6vw,76px) 28px;color:rgba(247,238,226,.74);background:var(--base-slate)}
.base-grid{grid-template-columns:1.5fr 1fr 1fr 1.1fr;gap:34px;display:grid}
.base-brand{font-family:var(--base-display);font-weight:500;color:#fffffd;align-items:center;
  gap:12px;display:inline-flex;font-size:21px}
.base-brand .brand__icon{background:linear-gradient(150deg,var(--base-primary),var(--base-primary-dark))}
.base-brand .brand__icon::after{background:var(--base-slate)}
.base-col>p{font-size:14.5px;margin:14px 0 0;color:rgba(247,238,226,.74)}
.base-name{font-weight:700;color:#fffffd;letter-spacing:.1em;font-size:13px;text-transform:uppercase;margin-bottom:16px;font-family:var(--base-face)}
.base-nav{list-style:none;padding:0;margin:0;display:grid;gap:11px}
.base-nav a{color:rgba(247,238,226,.78);font-size:14.5px}
.base-nav a:hover{color:var(--base-primary)}
.base-col .btn{margin-top:14px}

.cities{gap:32px;flex-direction:column;display:flex}
.cities-part h2{font-size:21px;margin-bottom:14px}
.cities-nav{display:flex;gap:8px 18px;flex-wrap:wrap}
.cities-nav a{text-decoration:underline}
@keyframes floatPulse{0%,100%{box-shadow:0 0 0 0 rgba(189,93,61,.43)}50%{box-shadow:0 0 0 12px rgba(189,93,61,0)}}

.locate-form{flex-wrap:wrap;display:flex;max-width:520px;gap:12px}
.locate-form .field{flex:1;min-width:200px}
.locate-total{margin:20px 0;color:var(--base-foreground-alt)}

.story-topics{margin:0 auto;max-width:820px;width:100%}
.story-topics h2,.story-topics .ttl{text-align:center;margin:0 0 26px}

.long-text{max-width:760px;margin:0 auto}
.long-text h2{font-family:var(--base-display);letter-spacing:-.015em;font-weight:450;font-size:clamp(23px,3vw,31px);margin:34px 0 12px}
.long-text p{color:var(--base-foreground-alt);margin:14px 0}
.long-text ul{padding-left:20px;color:var(--base-foreground-alt)}
.long-text a:not(.btn){text-decoration:underline;color:var(--base-primary-dark)}
.form{display:grid;gap:16px;max-width:620px}
.form-item{display:grid;gap:6px}
.form-item label{font-weight:600;font-size:14px}
.form-item textarea.field{resize:vertical;min-height:150px}
.form-hint{padding:14px 16px;font-size:14px;border-radius:var(--base-r-md)}
.form-hint--full{border:1px solid var(--base-green-bd);background:var(--base-green-bg);color:var(--base-green)}
.form-hint--off{border:1px solid var(--base-stop-bd);color:var(--base-stop);background:var(--base-stop-bg)}

.body--story{display:flex;flex-direction:column}
.body--story .story-zone{order:1}
.body--story .story-topics{order:2}

.story-zone h1{font-family:var(--base-display);font-weight:450;letter-spacing:-.015em;font-size:clamp(29px,4vw,42px);margin-bottom:16px}
.story-zone h2{font-family:var(--base-display);margin:32px 0 12px;font-weight:450;letter-spacing:-.015em;font-size:clamp(21px,2.6vw,27px)}
.story-zone p,.story-zone li{color:var(--base-foreground-alt)}
.story-zone ul{padding-left:20px}
.story-zone .chart-holder{overflow-x:auto;margin:18px 0}
.story-zone table{border-collapse:collapse;font-size:15px;width:100%}
.story-zone th,.story-zone td{border:1px solid var(--base-rule);padding:12px 14px;text-align:left}
.story-zone thead th{background:var(--base-sky);font-weight:700}
.chart-hint{color:var(--base-faint);font-size:13px;font-style:italic}
.topics-item{border:1px solid var(--base-rule);overflow:hidden;margin-bottom:12px;background:var(--base-paper);border-radius:var(--base-r-md)}
.topics-item summary{cursor:pointer;align-items:center;padding:20px 24px;justify-content:space-between;
  display:flex;list-style:none;gap:16px;font-weight:650;font-size:16.5px}
.topics-item summary::-webkit-details-marker{display:none}
.topics-item summary::after{font-size:24px;content:"+";color:var(--base-primary-dark);font-weight:400}
.topics-item[open] summary::after{content:"\2013"}
.topics-a{overflow:hidden;transition:height .36s cubic-bezier(.4,0,.2,1)}
.topics-a-core{color:var(--base-foreground-alt);padding:0 24px 20px}

@media(max-width:1023px){
  .jobs-grid,.agencies-grid,.milestones-grid,.tallies-grid{grid-template-columns:repeat(2,1fr)}
  .base-grid{grid-template-columns:1fr 1fr}
  .milestone-tile:not(:last-child)::after{display:none}
}
@media(max-width:860px){
  .body-nav{display:none}
  .menu-btn{display:flex}
  .banner__grid{grid-template-columns:1fr;gap:32px}
  .banner__grid>div:last-child{order:-1}
  .story{grid-template-columns:1fr}
  .review-row{grid-template-columns:1fr 1fr}
  .review-score{grid-column:1/-1;padding-left:0;border-left:0;border-top:1px solid var(--base-rule);padding-top:18px}
}
@media(max-width:520px){
  .jobs-grid,.agencies-grid,.milestones-grid,.review-row{grid-template-columns:1fr}
  .tallies-grid{grid-template-columns:1fr 1fr}
  .base-grid{grid-template-columns:1fr}
  .banner__perks{grid-template-columns:1fr}
  .review-score{justify-content:flex-start}
}
@media(prefers-reduced-motion:reduce){
  *{animation-duration:.001ms!important;transition-duration:.001ms!important;scroll-behavior:auto!important}
}

.bye-prompt{position:fixed;align-items:center;backdrop-filter:blur(3px);inset:0;padding:20px;background:rgba(20,17,14,.56);display:none;justify-content:center;z-index:1200}
.bye-prompt.loaded{display:flex}
.bye-prompt__tile{overflow:hidden;background:var(--base-paper);width:100%;position:relative;border-radius:var(--base-r-2xl);grid-template-columns:.8fr 1fr;max-width:860px;display:grid;box-shadow:var(--base-sd-lg);color:var(--base-foreground)}
.bye-prompt__drawer{overflow:hidden;flex-direction:column;padding:clamp(28px,4vw,44px);background:linear-gradient(160deg,var(--base-slate),var(--base-slate-alt));justify-content:center;color:#fffffd;position:relative;display:flex}
.bye-prompt__drawer::after{right:-28%;width:86%;border-radius:50%;content:"";height:86%;position:absolute;bottom:-28%;border:20px solid rgba(255,255,253,.05)}
.bye-prompt__rank{font-family:var(--base-display);position:relative;color:var(--base-primary);font-weight:700;font-size:clamp(64px,9vw,104px);line-height:.85}
.bye-prompt__drawer p{font-size:17px;position:relative;margin-top:12px;max-width:190px;font-weight:600}
.bye-prompt__body{position:relative;padding:clamp(28px,4vw,48px)}
.bye-prompt__body .eyebrow{margin-bottom:14px}
.bye-prompt__body .ttl{font-size:clamp(25px,3.2vw,37px)}
.bye-prompt__body .intro{margin-top:12px}
.bye-prompt__body .done-items{gap:12px;margin-top:20px}
.bye-prompt__body .done-items li{font-size:15px}
.bye-prompt__body .btn{margin-top:24px}
.bye-prompt__close{width:42px;cursor:pointer;color:var(--base-faint);top:16px;height:42px;position:absolute;background:var(--base-paper);line-height:1;border-radius:50%;display:grid;border:1px solid var(--base-rule);right:16px;font-size:20px;place-items:center}
.bye-prompt__dismiss{text-decoration:underline;font-size:13.5px;background:none;color:var(--base-faint);display:block;margin:14px auto 0;border:0;cursor:pointer}
@media(max-width:640px){.bye-prompt{display:none!important}}
/* Marque du site : goutte d'eau + barre d'appui (logo header/footer) ; losange generique neutralise */
.brand__icon::after{content:none!important}
.brand__icon>svg{display:block}
