/*
Theme Name: Dirty Ibis Digital v0.50
Theme URI: https://dirtyibisdigital.com
Author: Dirty Ibis Digital
Description: Bespoke Modern Field Journal theme for Dirty Ibis Digital.
Version: 0.50.0
Requires at least: 6.5
Requires PHP: 8.0
Text Domain: dirty-ibis
*/

:root{
  --paper:#f6f2e9;
  --paper-2:#fbf8f1;
  --ink:#171717;
  --ink-2:#242321;
  --copper:#a24d27;
  --copper-on-dark:#d98556;
  --copper-dark:#924722;
  --line:#d8d1c6;
  --muted:#716d67;
  --white:#fff;
  --max:1560px;
  --pad:clamp(22px,4vw,68px);
  --display:'Barlow Condensed','Arial Narrow',Impact,sans-serif;
  --body:'DM Sans',Arial,sans-serif;
}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{margin:0;background:var(--paper);color:var(--ink);font-family:var(--body);font-size:17px;line-height:1.6;-webkit-font-smoothing:antialiased}
a{color:inherit;text-decoration:none}
img{max-width:100%;height:auto;display:block}
button,input,textarea,select{font:inherit}
::selection{background:var(--copper);color:#fff}
.container{width:min(var(--max),100%);margin-inline:auto;padding-inline:var(--pad)}
.eyebrow{font-size:.82rem;letter-spacing:.085em;text-transform:uppercase;color:var(--copper);font-weight:600}
.display{font-family:var(--display);text-transform:uppercase;line-height:.91;letter-spacing:-.025em;margin:0;font-weight:600}
.display-xl{font-size:clamp(4.9rem,6.15vw,7.45rem)}
.display-lg{font-size:clamp(3.2rem,6vw,6.8rem)}
.display-md{font-size:clamp(2.6rem,4.3vw,4.9rem)}
.lede{font-size:clamp(1.08rem,1.3vw,1.3rem);max-width:54ch;color:#34322f}
.copper{color:var(--copper)}
.rule{height:1px;background:var(--line)}
.btn{display:inline-flex;align-items:center;gap:18px;padding:16px 22px;border:1px solid var(--ink);text-transform:uppercase;font-size:.8rem;letter-spacing:.045em;font-weight:600;transition:.25s ease;background:transparent;cursor:pointer}
.btn:hover{background:var(--ink);color:#fff;transform:translateY(-1px)}
.btn-dark{background:var(--ink);color:#fff}.btn-dark:hover{background:var(--copper);border-color:var(--copper)}
.text-link{display:inline-flex;align-items:center;gap:14px;text-transform:uppercase;font-size:.8rem;font-weight:600}.text-link:after{content:'→';color:var(--copper);font-size:1.2em;transition:.2s}.text-link:hover:after{transform:translateX(5px)}

/* header */
.site-header{position:relative;z-index:50;background:rgba(246,242,233,.94);border-bottom:1px solid transparent}
.site-header.is-sticky{position:sticky;top:0;backdrop-filter:blur(12px);border-color:var(--line)}
.header-inner{height:92px;display:flex;align-items:center;justify-content:space-between;gap:34px}
.brand img{width:205px;max-height:72px;object-fit:contain}
.main-nav{display:flex;align-items:center;gap:clamp(24px,3vw,52px);font-size:.88rem;text-transform:uppercase;letter-spacing:.04em;font-weight:600}
.main-nav a{position:relative;padding:9px 0}.main-nav a:after{content:'';position:absolute;left:0;right:100%;bottom:0;height:1px;background:var(--copper);transition:.25s}.main-nav a:hover:after,.main-nav .current-menu-item a:after,.main-nav .current_page_item a:after{right:0}
.header-cta{border:1px solid var(--copper);padding:13px 19px!important;color:var(--copper)}
.header-cta:after{display:none!important}.header-cta:hover{background:var(--copper);color:#fff}
.menu-toggle{display:none;border:0;background:none;font-size:.78rem;text-transform:uppercase}

/* hero */
.hero{min-height:clamp(560px,64vh,640px);border-bottom:1px solid var(--line);overflow:hidden}
.hero-grid{display:grid;grid-template-columns:minmax(0,1.03fr) minmax(0,1.27fr);min-height:clamp(560px,64vh,640px)}
.hero-copy{padding:48px var(--pad) 46px max(var(--pad),calc((100vw - var(--max))/2 + var(--pad)));display:flex;flex-direction:column;justify-content:center;position:relative;z-index:2;background:linear-gradient(90deg,var(--paper) 78%,rgba(246,242,233,0))}
.hero-copy .display{max-width:none;white-space:nowrap}.hero-copy .lede{margin:25px 0 30px;max-width:55ch;line-height:1.68}.hero-actions{display:flex;gap:28px;align-items:center;flex-wrap:wrap}
.hero-media{position:relative;min-height:clamp(560px,64vh,640px);margin-left:-105px;overflow:hidden}
.hero-media img{width:100%;height:100%;object-fit:cover;filter:saturate(.72) contrast(1.02);animation:heroSettle 1.25s cubic-bezier(.2,.7,.2,1) both}
.hero-media:after{content:'';position:absolute;inset:0;background:linear-gradient(90deg,var(--paper) 0%,rgba(246,242,233,.18) 28%,rgba(23,23,23,.08) 100%)}
.sketch-cross{position:absolute;width:28px;height:28px;left:20%;top:21%;z-index:3}.sketch-cross:before,.sketch-cross:after{content:'';position:absolute;background:#fff;opacity:.8}.sketch-cross:before{width:1px;height:100%;left:50%}.sketch-cross:after{height:1px;width:100%;top:50%}

/* thinking trio */
.thinking-section{border-bottom:1px solid var(--line);background:var(--paper-2)}
.three-thinking{display:grid;grid-template-columns:.8fr 1fr .8fr 1fr .8fr 1fr;padding-inline:var(--pad)}
.thinking-sketch,.thinking-card{min-height:252px;border-right:1px solid var(--line);display:flex;flex-direction:column;justify-content:center;position:relative}
.thinking-sketch:first-child{border-left:1px solid var(--line)}
.thinking-sketch{align-items:center;padding:24px 16px;overflow:hidden}
.thinking-sketch img{width:100%;max-width:185px;max-height:195px;object-fit:contain;opacity:.94;filter:contrast(1.08)}
.thinking-card{padding:30px 25px 28px}
.thinking-card .num{font-family:var(--display);font-size:2.05rem;color:var(--copper)}
.thinking-card h3{font-family:var(--display);font-size:2.42rem;margin:0 0 15px;font-weight:500}
.thinking-card ul{list-style:none;margin:0;padding:0;font-size:.82rem;line-height:1.72;text-transform:uppercase}
.micro-arrow{color:var(--copper);font-size:1.45rem;margin-top:20px;line-height:1}

/* process */
.process-band{background:var(--ink);color:#fff;padding:34px 0;border-bottom:1px solid #353535}.process-inner{display:grid;grid-template-columns:225px 1fr;gap:28px;align-items:center}.process-title{border-right:1px solid #555;padding-right:32px}.process-title .display{font-size:2.3rem}.process-title p{font-size:.9rem;color:#cfcac3}.steps{display:grid;grid-template-columns:repeat(7,1fr);gap:8px}.step{text-align:center;position:relative}.step:not(:last-child):after{content:'→';position:absolute;right:-8px;top:31px;color:var(--copper)}.step-num{font-size:.76rem;color:var(--copper)}.step-icon{font-size:2.55rem;line-height:1;margin:10px 0 12px}.step-name{font-size:.82rem;text-transform:uppercase}

/* services */
.services-section{padding:56px 0 62px;border-bottom:1px solid var(--line);overflow:hidden}.services-grid{display:grid;grid-template-columns:.62fr 2.05fr;gap:38px;position:relative}.services-title{padding-right:24px;border-right:1px solid var(--line)}.services-title .display{font-size:clamp(3.9rem,5.5vw,6.15rem)}.ibis-sketch{width:225px;max-height:140px;margin:20px 0 -4px auto;opacity:.9;object-fit:contain}.service-cards{display:grid;grid-template-columns:repeat(3,1fr);border-top:1px solid var(--line);border-left:1px solid var(--line)}.service-card{padding:24px 26px;min-height:148px;border-right:1px solid var(--line);border-bottom:1px solid var(--line);transition:background .25s ease,transform .25s ease}.service-card:hover{background:rgba(182,96,52,.045);transform:translateY(-2px)}.service-card .icon{font-size:1.95rem;color:var(--copper)}.service-card h4{font-size:.94rem;margin:10px 0 8px;text-transform:uppercase;letter-spacing:.015em}.service-card p{font-size:.94rem;line-height:1.48;color:#4e4a45;margin:0;max-width:32ch}.service-note{position:absolute;font-family:'Comic Sans MS','Segoe Print',cursive;color:#6f675f;font-size:.88rem;opacity:.72;pointer-events:none}.service-note-one{right:5%;top:-29px;transform:rotate(2deg)}.service-note-two{right:-1%;bottom:-32px;transform:rotate(-3deg)}

/* drone */
.drone-section{padding:58px 0 60px;border-bottom:1px solid var(--line)}
.drone-grid{display:grid;grid-template-columns:305px 1fr;gap:40px}
.drone-copy .display{font-size:3.2rem}
.drone-copy p{font-size:.98rem;line-height:1.55;color:#4c4843}
.drone-gallery{min-width:0}
.video-frame{position:relative;aspect-ratio:16/6.2;overflow:hidden;background:#161616;isolation:isolate}
.media-stage-content,.media-stage-content img,.media-stage-content video{width:100%;height:100%}
.media-stage-content img,.media-stage-content video{object-fit:cover;display:block}
.media-stage-content video{background:#111}
.video-frame:after{content:'';position:absolute;inset:0;background:linear-gradient(180deg,transparent 54%,rgba(0,0,0,.48));z-index:1;pointer-events:none}
.play{position:absolute;z-index:3;inset:50% auto auto 50%;transform:translate(-50%,-50%);width:72px;height:72px;border:1px solid rgba(255,255,255,.9);border-radius:50%;display:grid;place-items:center;color:#fff;font-size:1.4rem;background:rgba(0,0,0,.2);cursor:pointer;transition:transform .22s ease,background .22s ease}
.play:hover{transform:translate(-50%,-50%) scale(1.06);background:rgba(0,0,0,.45)}
.play[hidden]{display:none}
.media-caption{position:absolute;z-index:3;left:20px;bottom:16px;color:#fff;text-transform:uppercase;font-size:.78rem;letter-spacing:.05em;line-height:1.35;pointer-events:none}
.media-caption span{font-size:.68rem;color:rgba(255,255,255,.76)}
.media-carousel{position:relative;margin-top:12px;padding:0 2px}
.media-strip{display:flex;gap:9px;overflow:hidden;scroll-behavior:smooth}
.media-thumb{position:relative;flex:0 0 calc((100% - 45px)/6);width:calc((100% - 45px)/6);padding:0;border:1px solid transparent;background:none;cursor:pointer;overflow:hidden;aspect-ratio:16/9;transition:border-color .2s ease,transform .22s ease}
.media-thumb img{width:100%;height:100%;object-fit:cover;filter:saturate(.68) brightness(.92);transition:filter .22s ease,transform .28s ease}
.media-thumb:hover{transform:translateY(-2px)}
.media-thumb:hover img,.media-thumb.is-active img{filter:saturate(.92) brightness(1)}
.media-thumb.is-active{border-color:var(--copper)}
.thumb-type{position:absolute;left:7px;bottom:6px;width:24px;height:24px;border-radius:50%;display:grid;place-items:center;background:rgba(20,20,20,.65);border:1px solid rgba(255,255,255,.8);color:#fff;font-size:.66rem;line-height:1}
.media-arrow{position:absolute;z-index:4;top:50%;transform:translateY(-50%);width:40px;height:40px;border:1px solid var(--line);border-radius:50%;background:var(--paper-2);color:var(--ink);display:grid;place-items:center;font-size:1.55rem;line-height:1;cursor:pointer;box-shadow:0 7px 18px rgba(0,0,0,.08)}
.media-prev{left:-20px}.media-next{right:-20px}.media-arrow:hover{background:var(--ink);color:#fff}

/* case */
.case-band{display:grid;grid-template-columns:1fr 1fr;min-height:315px;border-bottom:1px solid var(--line)}.case-dark{background:var(--ink);color:#fff;padding:50px max(var(--pad),calc((100vw - var(--max))/2 + var(--pad)));padding-right:40px;display:grid;grid-template-columns:.9fr 1.1fr;gap:28px;align-items:center}.case-dark .display{font-size:3.35rem}.case-note{font-family:'Comic Sans MS','Segoe Print',cursive;color:#d8cfc4;font-size:.9rem;line-height:1.5;margin-top:22px;max-width:29ch;transform:rotate(-2deg);opacity:.8}.case-dark img{width:100%;height:190px;object-fit:cover;filter:grayscale(1)}.case-light{padding:48px max(var(--pad),calc((100vw - var(--max))/2 + var(--pad)));padding-left:40px}.case-light h3{font-size:1.55rem;line-height:1.45;font-weight:400;max-width:30ch}.metrics{display:grid;grid-template-columns:repeat(4,1fr);gap:20px;margin-top:30px}.metric strong{display:block;font-family:var(--display);font-size:2.2rem}.metric span{font-size:.76rem;line-height:1.4;color:#555}

/* messy CTA — split editorial invitation between case study and Field Notes */
.messy-cta{position:relative;background:var(--paper-2);color:var(--ink);overflow:hidden;border-bottom:1px solid var(--line)}
.messy-split-grid{display:grid;grid-template-columns:minmax(0,.88fr) minmax(0,1.12fr);min-height:390px}
.messy-split-copy{position:relative;z-index:2;padding:56px clamp(34px,5vw,84px) 54px max(var(--pad),calc((100vw - var(--max))/2 + var(--pad)));display:flex;flex-direction:column;justify-content:center;background:
  radial-gradient(circle at 18% 24%,rgba(182,96,52,.045),transparent 30%),
  linear-gradient(90deg,#efe4d4 0%,#f4ecdf 100%)}
.messy-kicker{font-size:.78rem;letter-spacing:.09em;text-transform:uppercase;color:var(--copper);font-weight:700;margin-bottom:18px}
.messy-cta .display{font-size:clamp(3.9rem,5.15vw,6rem);text-transform:none;line-height:.9;max-width:780px}
.messy-cta .display span{color:var(--copper)}
.messy-support{font-size:1.04rem;line-height:1.58;color:#45413c;max-width:48ch;margin:22px 0 28px}
.messy-support strong{font-weight:600;color:var(--ink)}
.messy-actions{display:flex;align-items:center;gap:30px;flex-wrap:wrap}
.messy-primary{min-width:205px;justify-content:space-between}
.messy-secondary{white-space:nowrap}
.messy-split-media{position:relative;overflow:hidden;min-height:390px;background:#6e6256}
.messy-split-media img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:center 52%;filter:saturate(.72) sepia(.08) contrast(1.02);transform:scale(1.012);transition:transform 1.1s cubic-bezier(.2,.7,.2,1),filter .6s ease}
.messy-split-grid.in .messy-split-media img{transform:scale(1)}
.messy-split-media:hover img{transform:scale(1.018);filter:saturate(.82) sepia(.04) contrast(1.03)}
.messy-media-shade{position:absolute;inset:0;background:linear-gradient(90deg,rgba(25,22,19,.16),rgba(25,22,19,.02) 42%,rgba(25,22,19,.13)),linear-gradient(0deg,rgba(17,17,17,.16),transparent 44%);pointer-events:none}
.messy-field-note{position:absolute;z-index:3;font-family:'Comic Sans MS','Segoe Print',cursive;color:rgba(255,255,255,.92);font-size:1.05rem;line-height:1.28;text-shadow:0 1px 8px rgba(0,0,0,.28);pointer-events:none}
.messy-field-note-one{left:12%;top:18%;transform:rotate(-3deg)}
.messy-field-note-two{right:11%;bottom:18%;transform:rotate(2deg)}
.messy-field-arrow{position:absolute;z-index:3;color:rgba(255,255,255,.9);font-family:'Comic Sans MS','Segoe Print',cursive;font-size:2.1rem;pointer-events:none;text-shadow:0 1px 8px rgba(0,0,0,.25)}
.messy-field-arrow-one{left:24%;top:31%;transform:rotate(11deg)}
.messy-field-arrow-two{right:25%;bottom:22%;transform:rotate(-8deg)}
.messy-wireframe{position:absolute;z-index:2;left:43%;top:50%;width:min(34%,270px);aspect-ratio:1.45;transform:translate(-50%,-50%) rotate(-1deg);border:1px solid rgba(255,255,255,.72);background:rgba(18,18,18,.10);box-shadow:inset 0 0 0 4px rgba(255,255,255,.05);pointer-events:none}
.messy-wireframe:before,.messy-wireframe:after{content:'';position:absolute;width:8px;height:8px;border:1px solid rgba(255,255,255,.78)}
.messy-wireframe:before{left:-5px;top:-5px}.messy-wireframe:after{right:-5px;bottom:-5px}
.wf-top{position:absolute;left:8%;right:8%;top:10%;height:1px;background:rgba(255,255,255,.62)}
.wf-box{position:absolute;top:23%;height:35%;border:1px solid rgba(255,255,255,.68)}
.wf-box:before,.wf-box:after{content:'';position:absolute;left:0;right:0;top:50%;height:1px;background:rgba(255,255,255,.5);transform-origin:center}
.wf-box:before{transform:rotate(32deg)}.wf-box:after{transform:rotate(-32deg)}
.wf-box-a{left:8%;width:31%}.wf-box-b{right:8%;width:43%}
.wf-line{position:absolute;left:8%;height:1px;background:rgba(255,255,255,.58)}
.wf-line-a{right:8%;bottom:24%}.wf-line-b{right:32%;bottom:15%}

/* notes */
.notes-section{padding:64px 0 78px}.notes-head{display:flex;justify-content:space-between;align-items:center;margin-bottom:26px}.notes-grid{display:grid;grid-template-columns:repeat(5,1fr);gap:24px}.note-card img{aspect-ratio:16/9;object-fit:cover;margin-bottom:12px;filter:saturate(.65)}.note-card h4{font-size:1rem;line-height:1.3;margin:0 0 6px}.note-card .meta{font-size:.72rem;color:var(--copper);text-transform:uppercase}

/* generic page hero */
.page-hero{border-bottom:1px solid var(--line)}.page-hero-grid{display:grid;grid-template-columns:.9fr 1.15fr;min-height:520px}.page-hero-copy{padding:64px var(--pad) 55px max(var(--pad),calc((100vw - var(--max))/2 + var(--pad)));display:flex;flex-direction:column;justify-content:center;background:linear-gradient(90deg,var(--paper) 88%,rgba(246,242,233,0));z-index:2}.page-hero-media{margin-left:-70px;position:relative;overflow:hidden}.page-hero-media img{width:100%;height:100%;object-fit:cover;filter:saturate(.68)}.page-hero-media:after{content:'';position:absolute;inset:0;background:linear-gradient(90deg,var(--paper),rgba(246,242,233,0) 34%)}

/* work */
.filter-bar{border-bottom:1px solid var(--line);padding:18px 0}.filters{display:flex;gap:35px;flex-wrap:wrap;font-size:.8rem;text-transform:uppercase}.filters a:first-child{color:var(--copper);border-bottom:1px solid var(--copper)}.work-list{border-bottom:1px solid var(--line)}.work-row{display:grid;grid-template-columns:.72fr 1.3fr .48fr;gap:34px;padding:38px 0;border-bottom:1px solid var(--line)}.work-row:last-child{border-bottom:0}.work-number{font-family:var(--display);font-size:1.5rem;color:var(--copper)}.work-copy h2{font-family:var(--display);font-size:3rem;text-transform:uppercase;margin:5px 0 8px;line-height:.95;font-weight:500}.work-copy p{font-size:.96rem;line-height:1.55;max-width:38ch}.work-image{position:relative}.work-image img{width:100%;height:240px;object-fit:cover;filter:saturate(.72)}.work-impact{padding-left:20px;border-left:1px solid var(--line)}.impact-item{margin:22px 0}.impact-item strong{display:block;font-family:var(--display);font-size:2rem}.impact-item span{font-size:.76rem;line-height:1.4;color:#555}

/* solve */
.problem-types{padding:38px 0;border-bottom:1px solid var(--line)}.problem-grid{display:grid;grid-template-columns:220px repeat(6,1fr);gap:0}.problem-intro{padding-right:25px;border-right:1px solid var(--line)}.problem-card{padding:12px 20px 25px;border-right:1px solid var(--line)}.problem-card .icon{font-size:2rem;color:var(--copper)}.problem-card h3{font-size:.84rem;text-transform:uppercase}.problem-card p{font-size:.9rem;line-height:1.5;color:#555}.approach-section{background:var(--ink);color:#fff;padding:58px 0}.approach-grid{display:grid;grid-template-columns:270px 1fr;gap:50px}.approach-steps{display:grid;grid-template-columns:repeat(6,1fr);gap:16px}.approach-step .num{color:var(--copper);font-size:.78rem}.approach-step .icon{font-size:2rem;margin:10px 0}.approach-step h4{font-size:.84rem;text-transform:uppercase}.approach-step p{font-size:.88rem;line-height:1.5;color:#c8c2ba}

/* learn */
.topic-bar{padding:24px 0;border-bottom:1px solid var(--line)}.topics{display:grid;grid-template-columns:repeat(7,1fr)}.topic{text-align:center;border-right:1px solid var(--line);font-size:.78rem;text-transform:uppercase;padding:10px 8px}.topic:last-child{border-right:0}.topic .icon{font-size:1.6rem;display:block;margin-bottom:6px}.featured-learn{background:var(--ink);color:#fff;padding:44px 0}.featured-learn-grid{display:grid;grid-template-columns:.7fr 1.45fr .7fr;gap:32px;align-items:center}.featured-learn h2{font-family:var(--display);font-size:3.5rem;line-height:.95;margin:8px 0 16px;font-weight:500}.featured-learn p,.featured-learn li{font-size:.92rem;line-height:1.55;color:#d7d1c9}.learn-grid{display:grid;grid-template-columns:repeat(5,1fr);gap:24px;padding:40px 0}.learn-card img{aspect-ratio:16/9;object-fit:cover}.learn-card h3{font-size:1.08rem;line-height:1.2}.learn-card .duration{font-size:.72rem;background:var(--ink);color:#fff;padding:2px 6px;display:inline-block;margin-top:-28px;float:right;position:relative}.learning-path{padding:56px 0;border-top:1px solid var(--line);background:#efe8de}.learning-path-grid{display:grid;grid-template-columns:1fr .55fr 1fr;gap:45px;align-items:center}.progress-ring{width:190px;height:190px;border-radius:50%;background:conic-gradient(var(--copper) var(--progress,0%),#d7d0c6 0);display:grid;place-items:center;margin:auto}.progress-ring:before{content:'';width:145px;height:145px;border-radius:50%;background:#efe8de;position:absolute}.progress-ring strong,.progress-ring span{position:relative;z-index:1}.certificate-preview{border:1px solid #9f9485;background:#f9f4ea;padding:24px;text-align:center;transform:rotate(-1deg);box-shadow:0 12px 30px rgba(0,0,0,.08)}

/* single learn */
.episode-wrap{padding:54px 0}.episode-grid{display:grid;grid-template-columns:1.5fr .65fr;gap:55px}.episode-video{aspect-ratio:16/9;background:#111;margin-bottom:35px}.episode-video iframe,.episode-video video{width:100%;height:100%;border:0}.episode-video img{width:100%;height:100%;object-fit:cover}.episode-content h2{font-family:var(--display);font-size:3rem;text-transform:uppercase;font-weight:500}.episode-content h3{font-family:var(--display);font-size:2rem;text-transform:uppercase;font-weight:500;margin-top:36px}.episode-side{border-left:1px solid var(--line);padding-left:30px}.episode-side .panel{padding:22px 0;border-bottom:1px solid var(--line)}.complete-btn[disabled]{opacity:.5;cursor:default}

/* forms/about */
.content-section{padding:65px 0;border-bottom:1px solid var(--line)}.two-col{display:grid;grid-template-columns:.8fr 1.2fr;gap:70px}.prose{max-width:760px}.prose p{font-size:1.06rem}.beliefs{display:grid;grid-template-columns:repeat(2,1fr);border-top:1px solid var(--line);border-left:1px solid var(--line)}.belief{padding:28px;border-right:1px solid var(--line);border-bottom:1px solid var(--line)}
.form-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:18px}.field{display:flex;flex-direction:column;gap:8px}.field.full{grid-column:1/-1}.field label{font-size:.8rem;text-transform:uppercase;color:var(--copper);font-weight:600}.field input,.field textarea,.field select{width:100%;border:0;border-bottom:1px solid #9f978c;background:transparent;padding:12px 4px;outline:none}.field textarea{min-height:150px;border:1px solid #9f978c;padding:12px}.form-message{padding:14px 18px;border:1px solid var(--copper);margin-bottom:20px}

/* footer */
.site-footer{background:var(--ink);color:#fff;padding:62px 0 28px}.footer-top{display:grid;grid-template-columns:.9fr 1.15fr 1.4fr;gap:70px;align-items:start}.footer-brand img{width:190px;filter:invert(1)}.footer-nav{display:grid;grid-template-columns:repeat(2,1fr);gap:10px 30px;font-size:.82rem;text-transform:uppercase}.footer-note{font-size:.92rem;line-height:1.55;color:#c8c2ba}.footer-signup h3{font-family:var(--display);font-size:2rem;text-transform:uppercase;font-weight:500;margin:8px 0 10px}.footer-form{display:flex;border-bottom:1px solid #62605d;margin-top:20px}.footer-form input{flex:1;background:transparent;border:0;color:#fff;padding:12px 0;outline:none}.footer-form input::placeholder{color:#8f8b85}.footer-form button{width:46px;border:0;background:transparent;color:var(--copper);font-size:1.4rem;cursor:pointer}.footer-thanks{color:#fff;font-size:.9rem;margin-top:18px}.footer-bottom{border-top:1px solid #3f3e3c;margin-top:48px;padding-top:16px;display:flex;justify-content:space-between;font-size:.72rem;color:#aaa}

@keyframes heroSettle{from{opacity:.86;transform:scale(1.025)}to{opacity:1;transform:scale(1)}}
.reveal{opacity:0;transform:translateY(18px);transition:opacity .7s ease,transform .7s ease}.reveal.in{opacity:1;transform:none}
.reveal.in .service-card,.reveal.in .step,.reveal.in .note-card{animation:softRise .55s ease both}
.reveal.in .service-card:nth-child(2),.reveal.in .step:nth-child(2),.reveal.in .note-card:nth-child(2){animation-delay:.05s}
.reveal.in .service-card:nth-child(3),.reveal.in .step:nth-child(3),.reveal.in .note-card:nth-child(3){animation-delay:.1s}
.reveal.in .service-card:nth-child(4),.reveal.in .step:nth-child(4),.reveal.in .note-card:nth-child(4){animation-delay:.15s}
.reveal.in .service-card:nth-child(5),.reveal.in .step:nth-child(5),.reveal.in .note-card:nth-child(5){animation-delay:.2s}
.reveal.in .service-card:nth-child(6),.reveal.in .step:nth-child(6){animation-delay:.25s}.reveal.in .step:nth-child(7){animation-delay:.3s}
@keyframes softRise{from{opacity:.35;transform:translateY(8px)}to{opacity:1;transform:none}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}.hero-media img,.reveal.in .service-card,.reveal.in .step,.reveal.in .note-card{animation:none!important}.reveal{transition:none}.service-card,.media-thumb,.media-thumb img{transition:none}}

@media(max-width:1050px){
  .main-nav{gap:20px}.header-cta{display:none}
  .thinking-sketch{display:none}.three-thinking{grid-template-columns:repeat(3,1fr);padding-inline:var(--pad)}.thinking-card:first-of-type{border-left:1px solid var(--line)}
  .hero-grid,.page-hero-grid{grid-template-columns:1fr}.hero-copy,.page-hero-copy{padding:55px var(--pad);background:var(--paper)}.hero-media,.page-hero-media{margin-left:0;min-height:420px;height:420px}.hero{min-height:auto}
  .services-grid,.drone-grid,.case-band,.featured-learn-grid,.learning-path-grid,.episode-grid,.two-col{grid-template-columns:1fr}.services-title{border-right:0}.case-dark,.case-light{padding:48px var(--pad)}
  .messy-split-grid{grid-template-columns:.92fr 1.08fr}.messy-split-copy{padding-left:var(--pad);padding-right:38px}.messy-split-media{min-height:360px}
  .process-inner,.approach-grid{grid-template-columns:1fr}.process-title{border-right:0;border-bottom:1px solid #555;padding-bottom:20px}.steps{grid-template-columns:repeat(4,1fr);gap:22px}.step:after{display:none}
  .problem-grid{grid-template-columns:repeat(3,1fr)}.problem-intro{grid-column:1/-1;border-right:0;border-bottom:1px solid var(--line);padding-bottom:20px}.approach-steps{grid-template-columns:repeat(3,1fr)}
  .work-row{grid-template-columns:.55fr 1.45fr}.work-impact{grid-column:2}.notes-grid,.learn-grid{grid-template-columns:repeat(3,1fr)}
}
@media(max-width:760px){
  .header-inner{height:78px}.brand img{width:130px}.menu-toggle{display:block}.main-nav{position:absolute;top:78px;left:0;right:0;background:var(--paper);border-top:1px solid var(--line);border-bottom:1px solid var(--line);padding:18px var(--pad);display:none;flex-direction:column;align-items:flex-start}.main-nav.open{display:flex}.main-nav .header-cta{display:inline-flex}
  .display-xl{font-size:4.8rem}.hero-copy .display{white-space:normal}.hero-media{height:330px;min-height:330px}
  .three-thinking{grid-template-columns:1fr}.thinking-card{border-right:0;border-bottom:1px solid var(--line);min-height:auto}.steps{grid-template-columns:repeat(2,1fr)}
  .service-cards{grid-template-columns:1fr}.drone-grid{gap:24px}.media-strip{overflow-x:auto;scroll-snap-type:x mandatory;padding-bottom:4px}.media-thumb{flex-basis:46%;width:46%;scroll-snap-align:start}.media-arrow{display:none}.video-frame{aspect-ratio:16/10}
  .case-dark{grid-template-columns:1fr}.metrics{grid-template-columns:repeat(2,1fr)}.messy-split-grid{grid-template-columns:1fr}.messy-split-copy{padding:46px var(--pad)}.messy-split-media{min-height:340px}.messy-actions{gap:20px}.messy-field-note{font-size:.9rem}.messy-wireframe{width:42%}.notes-grid,.learn-grid{grid-template-columns:repeat(2,1fr)}
  .problem-grid{grid-template-columns:repeat(2,1fr)}.approach-steps{grid-template-columns:repeat(2,1fr)}.topics{grid-template-columns:repeat(3,1fr);gap:10px}.topic{border:1px solid var(--line)}
  .work-row{grid-template-columns:1fr}.work-impact{grid-column:auto}.work-image{order:-1}.footer-top{grid-template-columns:1fr}.form-grid{grid-template-columns:1fr}.field.full{grid-column:auto}
}
@media(max-width:480px){.messy-cta .display{font-size:3.7rem}.messy-primary{width:100%}.messy-secondary{white-space:normal}.messy-split-media{min-height:300px}.messy-field-note-two{right:6%}.notes-grid,.learn-grid{grid-template-columns:1fr}.problem-grid{grid-template-columns:1fr}.approach-steps{grid-template-columns:1fr}.media-strip{grid-template-columns:repeat(2,1fr)}.footer-bottom{flex-direction:column;gap:8px}}

@media print{.site-header,.site-footer,.no-print{display:none!important}.certificate-page{padding:30px;background:#fff}.certificate-sheet{box-shadow:none!important;border:2px solid #777!important;min-height:650px}}


/* v0.5 typography + spatial density pass */
@media (min-width:1051px){
  .services-title{align-self:stretch;display:flex;flex-direction:column;justify-content:flex-start;padding-top:4px}
  .service-cards{align-self:start}
  .service-card{display:flex;flex-direction:column;justify-content:center}
}
@media (max-width:1050px){
  body{font-size:16.5px}
  .services-section{padding:48px 0 54px}
  .services-grid{gap:28px}
  .service-cards{grid-template-columns:repeat(2,1fr)}
  .service-card{min-height:150px}
  .thinking-card ul{font-size:.8rem}
  .step-name{font-size:.8rem}
}
@media (max-width:760px){
  body{font-size:16px}
  .eyebrow{font-size:.76rem}
  .main-nav{font-size:.86rem}
  .hero-copy .lede{font-size:1.08rem;line-height:1.62}
  .thinking-card h3{font-size:2.25rem}
  .thinking-card ul{font-size:.8rem}
  .process-title p{font-size:.88rem}
  .step-name{font-size:.8rem}
  .service-cards{grid-template-columns:1fr}
  .service-card{min-height:auto;padding:24px}
  .service-card h4{font-size:.92rem}
  .service-card p{font-size:.94rem}
  .drone-copy p{font-size:.96rem}
  .note-card h4{font-size:1rem}
  .footer-nav{font-size:.82rem}
}


/* v0.9 — readable typography + sentence-case design system */
/* Small editorial eyebrows remain uppercase labels. Everything people read uses sentence case. */
.display{
  text-transform:none;
  line-height:.96;
  letter-spacing:-.018em;
}
.btn,
.text-link,
.main-nav,
.menu-toggle,
.thinking-card ul,
.step-name,
.service-card h4,
.filters,
.problem-card h3,
.approach-step h4,
.topic,
.footer-nav{
  text-transform:none;
  letter-spacing:0;
}

/* Readability: functional copy is never treated like fine print. */
.main-nav{font-size:.96rem;font-weight:600}
.btn{font-size:.9rem;padding:16px 23px}
.text-link{font-size:.9rem}
.hero-copy .lede{font-size:clamp(1.12rem,1.35vw,1.34rem);line-height:1.66}
.thinking-card ul{font-size:.92rem;line-height:1.65}
.process-title p{font-size:1rem;line-height:1.5}
.step-name{font-size:.9rem;font-weight:600}
.service-card h4{font-size:1.04rem;margin:11px 0 7px}
.service-card p{font-size:1rem;line-height:1.52}
.drone-copy p{font-size:1.04rem;line-height:1.58}
.media-caption{font-size:.86rem;text-transform:none;letter-spacing:0}

/* Case study: this is core proof, so make it comfortably readable. */
.case-light{display:flex;flex-direction:column;justify-content:center}
.case-light .eyebrow{font-size:.86rem}
.case-light h3{
  font-size:clamp(1.85rem,2vw,2.25rem);
  line-height:1.32;
  max-width:34ch;
  margin:12px 0 0;
}
.metrics{gap:24px;margin-top:34px}
.metric strong{font-size:2.45rem;line-height:1}
.metric span{font-size:.9rem;line-height:1.45;color:#4c4945;margin-top:7px;display:block}
.case-light .text-link{margin-top:4px}
.case-note{font-size:1rem}

/* Field notes and footer are reading surfaces, not metadata dumps. */
.note-card h4{font-size:1.08rem;line-height:1.35}
.note-card .meta{font-size:.76rem}
.footer-nav{font-size:.9rem;line-height:1.45}
.footer-note{font-size:1rem;line-height:1.6}
.footer-signup h3{text-transform:none;font-size:2.2rem;line-height:1.05}
.footer-bottom{font-size:.8rem}

/* Carry the same readable scale into the rest of the site. */
.filters{font-size:.9rem}
.work-copy h2{text-transform:none;line-height:1}
.work-copy p{font-size:1.02rem;line-height:1.6}
.impact-item span{font-size:.9rem;line-height:1.45}
.problem-card h3{font-size:.98rem}
.problem-card p{font-size:.98rem;line-height:1.55}
.approach-step h4{font-size:.96rem}
.approach-step p{font-size:.96rem;line-height:1.55}
.topic{font-size:.88rem}
.featured-learn p,.featured-learn li{font-size:1rem;line-height:1.6}
.learn-card h3{font-size:1.15rem;line-height:1.3}
.episode-content h2,.episode-content h3{text-transform:none}
.field label{font-size:.86rem;text-transform:none;letter-spacing:0}

@media(max-width:1050px){
  .case-light h3{font-size:1.85rem}
  .metric span{font-size:.88rem}
  .thinking-card ul{font-size:.88rem}
  .step-name{font-size:.88rem}
}
@media(max-width:760px){
  .main-nav{font-size:1rem}
  .btn,.text-link{font-size:.92rem}
  .thinking-card ul{font-size:.9rem}
  .step-name{font-size:.9rem}
  .service-card h4{font-size:1.05rem}
  .service-card p{font-size:1rem}
  .case-light h3{font-size:1.65rem}
  .metric span{font-size:.9rem}
  .note-card h4{font-size:1.08rem}
  .footer-nav{font-size:.92rem}
}


/* v0.10 — robust rendering pass
   Content must never depend on viewport-triggered JavaScript to be visible.
   This fixes blank sections in full-page captures, delayed JS, cache/minification edge cases,
   and improves graceful degradation while preserving hover/hero motion. */
.reveal,
.reveal.in{
  opacity:1 !important;
  transform:none !important;
  transition:none !important;
}
.reveal.in .service-card,
.reveal.in .step,
.reveal.in .note-card{
  animation:none !important;
}

/* Preserve comfortable reading scale on proof/content areas. */
.case-light h3{font-size:clamp(1.9rem,2.1vw,2.35rem)}
.metric span{font-size:.94rem;line-height:1.5}
.case-light .text-link{font-size:.94rem}
.notes-head .text-link{font-size:.92rem}

/* Sentence case remains the default for readable interface/content text. */
.case-light h3,
.metric span,
.notes-head,
.note-card h4,
.footer-signup h3{
  text-transform:none;
}

/* v0.11 — approved Editorial Grid footer */
.site-footer-editorial{
  position:relative;
  overflow:hidden;
  background:#151515;
  color:#f8f4ec;
  padding:0;
}
.site-footer-editorial .container{position:relative;z-index:1}
.footer-editorial-grid{
  display:grid;
  grid-template-columns:minmax(230px,1.25fr) repeat(4,minmax(110px,.7fr)) minmax(250px,1.25fr);
  gap:0;
  padding:58px 0 42px;
  align-items:stretch;
}
.footer-editorial-brand{
  padding:2px 38px 0 0;
  border-right:1px solid rgba(255,255,255,.14);
}
.footer-editorial-brand img{
  width:190px;
  max-height:78px;
  object-fit:contain;
  object-position:left center;
  filter:invert(1);
  margin-bottom:20px;
}
.footer-editorial-brand p{
  margin:0;
  color:#cbc4ba;
  font-size:.98rem;
  line-height:1.65;
}
.footer-editorial-column{
  padding:4px 26px 0;
}
.footer-editorial-column h3,
.footer-editorial-contact h3{
  margin:0 0 17px;
  color:#fff;
  font-family:var(--body);
  font-size:1rem;
  line-height:1.2;
  font-weight:600;
  text-transform:none;
  letter-spacing:0;
}
.footer-editorial-column a{
  display:block;
  width:max-content;
  max-width:100%;
  margin:0 0 9px;
  color:#ccc5bc;
  font-size:.92rem;
  line-height:1.45;
  transition:color .2s ease,transform .2s ease;
}
.footer-editorial-column a:hover{
  color:#fff;
  transform:translateX(2px);
}
.footer-editorial-contact{
  position:relative;
  min-height:190px;
  padding:4px 0 0 34px;
  border-left:1px solid rgba(255,255,255,.14);
  overflow:hidden;
}
.footer-editorial-contact-content{
  position:relative;
  z-index:2;
  max-width:250px;
}
.footer-editorial-contact p{
  margin:0 0 22px;
  color:#ccc5bc;
  font-size:.96rem;
  line-height:1.55;
}
.footer-contact-button{
  display:inline-flex;
  align-items:center;
  gap:22px;
  min-height:44px;
  padding:11px 17px;
  border:1px solid var(--copper);
  color:#e9a078;
  font-size:.9rem;
  font-weight:600;
  line-height:1;
  transition:background .22s ease,color .22s ease,transform .22s ease;
}
.footer-contact-button span{font-size:1.2rem;color:var(--copper)}
.footer-contact-button:hover{
  background:var(--copper);
  color:#fff;
  transform:translateY(-1px);
}
.footer-contact-button:hover span{color:#fff}
.footer-editorial-ibis{
  position:absolute;
  width:235px;
  right:-78px;
  bottom:-42px;
  opacity:.12;
  filter:invert(1) grayscale(1);
  pointer-events:none;
}
.footer-editorial-legal{
  min-height:58px;
  padding:17px 0 18px;
  border-top:1px solid rgba(255,255,255,.15);
  display:grid;
  grid-template-columns:1fr auto 1fr;
  align-items:center;
  gap:24px;
  color:#aaa49c;
  font-size:.82rem;
  line-height:1.4;
}
.footer-editorial-legal span:nth-child(2){text-align:center;color:#cfc8bf}
.footer-editorial-legal span:last-child{text-align:right}

@media(max-width:1180px){
  .footer-editorial-grid{
    grid-template-columns:1.2fr repeat(2,1fr) 1.15fr;
    row-gap:34px;
  }
  .footer-editorial-brand{grid-row:span 2}
  .footer-editorial-contact{grid-column:4;grid-row:1 / span 2}
  .footer-editorial-column{padding-left:28px;padding-right:20px}
}
@media(max-width:820px){
  .footer-editorial-grid{
    grid-template-columns:1fr 1fr;
    gap:0;
    padding:46px 0 34px;
  }
  .footer-editorial-brand{
    grid-column:1/-1;
    grid-row:auto;
    padding:0 0 30px;
    border-right:0;
    border-bottom:1px solid rgba(255,255,255,.14);
    margin-bottom:28px;
  }
  .footer-editorial-brand img{width:165px;margin-bottom:14px}
  .footer-editorial-column{padding:0 18px 28px 0}
  .footer-editorial-contact{
    grid-column:1/-1;
    grid-row:auto;
    min-height:160px;
    padding:28px 0 8px;
    margin-top:6px;
    border-left:0;
    border-top:1px solid rgba(255,255,255,.14);
  }
  .footer-editorial-contact-content{max-width:330px}
  .footer-editorial-ibis{width:220px;right:-45px;bottom:-54px}
  .footer-editorial-legal{
    grid-template-columns:1fr 1fr;
    gap:10px 20px;
  }
  .footer-editorial-legal span:nth-child(2){text-align:right}
  .footer-editorial-legal span:last-child{grid-column:1/-1;text-align:left}
}
@media(max-width:520px){
  .footer-editorial-grid{grid-template-columns:1fr}
  .footer-editorial-brand{grid-column:auto}
  .footer-editorial-column{padding:0 0 24px}
  .footer-editorial-column h3{margin-bottom:10px}
  .footer-editorial-contact{grid-column:auto}
  .footer-editorial-legal{
    grid-template-columns:1fr;
    padding:18px 0 22px;
  }
  .footer-editorial-legal span,
  .footer-editorial-legal span:nth-child(2),
  .footer-editorial-legal span:last-child{text-align:left;grid-column:auto}
}


/* v0.12 — final homepage polish pass
   Locks the homepage reading scale and editorial rhythm before the same system
   is carried into Work, What we solve and Learn. */

/* Proof / challenge content: these are core reading elements, not metadata. */
.case-light h3{
  font-size:clamp(2rem,2.18vw,2.45rem);
  line-height:1.3;
  max-width:35ch;
}
.metrics{gap:28px;margin-top:36px}
.metric strong{font-size:2.55rem}
.metric span{
  font-size:1rem;
  line-height:1.5;
  color:#45413d;
  max-width:18ch;
}
.case-light .text-link{font-size:.98rem;margin-top:8px}

/* Give us the mess: keep the split concept, but simplify the competing field notes. */
.messy-support{
  font-size:1.12rem;
  line-height:1.62;
  max-width:50ch;
}
.messy-field-note-one{font-size:1.02rem;opacity:.94}
.messy-field-arrow-one{opacity:.88}
.messy-field-note-two{
  font-size:.9rem;
  opacity:.68;
  right:8%;
  bottom:14%;
}
.messy-field-arrow-two{
  font-size:1.7rem;
  opacity:.55;
  right:22%;
  bottom:20%;
}
.messy-wireframe{
  border-color:rgba(255,255,255,.55);
  background:rgba(18,18,18,.07);
  opacity:.82;
}

/* Field notes: give the editorial cards a more deliberate transition into the footer. */
.notes-section{padding:82px 0 96px}
.notes-head{margin-bottom:32px}
.note-card h4{font-size:1.12rem;line-height:1.38}
.note-card .meta{font-size:.8rem}

/* Approved Editorial Grid footer — final readability and hierarchy pass. */
.footer-editorial-grid{padding:64px 0 48px}
.footer-editorial-brand p{font-size:1.04rem;line-height:1.68}
.footer-editorial-column h3,
.footer-editorial-contact h3{
  font-size:1.08rem;
  margin-bottom:18px;
}
.footer-editorial-column a{
  font-size:1rem;
  line-height:1.5;
  margin-bottom:10px;
}
.footer-editorial-contact{min-height:202px}
.footer-editorial-contact p{
  font-size:1.04rem;
  line-height:1.62;
  margin-bottom:24px;
}
.footer-contact-button{
  min-height:48px;
  padding:13px 19px;
  font-size:1rem;
  gap:24px;
}
.footer-editorial-legal{
  min-height:64px;
  padding:19px 0 20px;
  font-size:.9rem;
  color:#b9b2aa;
}
.footer-editorial-legal span:nth-child(2){color:#ddd5ca}

@media(max-width:1050px){
  .metric span{font-size:.98rem}
  .notes-section{padding:72px 0 84px}
}
@media(max-width:760px){
  .case-light h3{font-size:1.78rem}
  .metric span{font-size:.98rem}
  .messy-support{font-size:1.04rem}
  .notes-section{padding:64px 0 72px}
  .footer-editorial-grid{padding:50px 0 38px}
  .footer-editorial-column a{font-size:1rem}
  .footer-editorial-contact p{font-size:1rem}
  .footer-editorial-legal{font-size:.9rem}
}

/* v0.13 — image quality + simplified panel rhythm */
/* The thinking trio is now three coherent editorial panels rather than six narrow cells. */
.three-thinking.thinking-unified{
  grid-template-columns:repeat(3,1fr);
  padding-inline:var(--pad);
}
.thinking-panel{
  min-height:290px;
  padding:32px 34px 30px;
  border-right:1px solid var(--line);
  display:grid;
  grid-template-columns:minmax(145px,.82fr) minmax(0,1.18fr);
  gap:26px;
  align-items:center;
  position:relative;
}
.thinking-panel:first-child{border-left:1px solid var(--line)}
.thinking-panel-top{align-self:stretch;display:flex;flex-direction:column;justify-content:center;align-items:flex-start;gap:16px}
.thinking-panel-top .num{font-family:var(--display);font-size:2.2rem;line-height:1;color:var(--copper)}
.thinking-panel-top img{
  width:100%;
  max-width:220px;
  height:170px;
  object-fit:contain;
  object-position:left center;
  opacity:.96;
  filter:contrast(1.08);
}
.thinking-panel-copy{display:flex;flex-direction:column;justify-content:center;min-width:0}
.thinking-panel-copy h3{font-family:var(--display);font-size:2.55rem;line-height:1;margin:0 0 18px;font-weight:500}
.thinking-panel-copy ul{list-style:none;margin:0;padding:0;font-size:.94rem;line-height:1.65;text-transform:none}
.thinking-panel-copy .micro-arrow{margin-top:22px}
/* Legacy six-cell elements are not used in v0.13. */
.thinking-unified .thinking-sketch,.thinking-unified .thinking-card{display:none}

/* What we solve should breathe as two zones without a decorative dividing rule. */
.services-grid{grid-template-columns:.62fr 2.05fr;gap:58px}
.services-title{border-right:0;padding-right:0}
.service-cards{border-left:1px solid var(--line)}

/* Better browser rendering for photographic placeholders. Actual launch photography can drop into these slots unchanged. */
.hero-media img,
.media-stage-content img,
.media-thumb img,
.case-dark img,
.messy-split-media>img,
.note-card img{
  image-rendering:auto;
  backface-visibility:hidden;
  transform:translateZ(0);
}

/* Keep the footer ibis fully inside the contact cell. */
.footer-editorial-contact{padding-right:122px}
.footer-editorial-contact-content{max-width:270px}
.footer-editorial-ibis{
  width:128px;
  height:auto;
  right:8px;
  bottom:12px;
  opacity:.13;
  object-fit:contain;
  object-position:center;
}

@media(max-width:1180px){
  .thinking-panel{grid-template-columns:1fr;gap:12px;padding:30px 26px}
  .thinking-panel-top{align-self:auto;display:grid;grid-template-columns:auto 1fr;align-items:center;gap:18px}
  .thinking-panel-top img{height:130px;max-width:175px}
  .thinking-panel-copy h3{font-size:2.25rem}
  .footer-editorial-contact{padding-right:105px}
  .footer-editorial-ibis{width:110px}
}
@media(max-width:760px){
  .three-thinking.thinking-unified{grid-template-columns:1fr;padding-inline:var(--pad)}
  .thinking-panel{border-left:1px solid var(--line);border-bottom:1px solid var(--line);min-height:auto;grid-template-columns:145px 1fr;gap:22px;padding:28px 24px}
  .thinking-panel:last-child{border-bottom:0}
  .thinking-panel-top{display:flex;align-items:flex-start;justify-content:center;gap:12px}
  .thinking-panel-top img{height:135px;max-width:150px}
  .thinking-panel-copy h3{font-size:2.15rem}
  .thinking-panel-copy ul{font-size:.95rem}
  .services-grid{gap:34px}
  .footer-editorial-contact{padding-right:92px}
  .footer-editorial-ibis{width:94px;right:0;bottom:10px}
}
@media(max-width:520px){
  .thinking-panel{grid-template-columns:1fr;gap:10px}
  .thinking-panel-top{display:grid;grid-template-columns:auto 1fr;align-items:center}
  .thinking-panel-top img{height:120px;max-width:145px}
  .footer-editorial-contact{padding-right:0}
  .footer-editorial-contact-content{max-width:72%}
  .footer-editorial-ibis{width:96px;right:4px;bottom:14px}
}

/* v0.14 — homepage lock candidate
   Final structural polish before the same system is carried into Work.
   - Sticky navigation only appears after the hero.
   - Thinking panels become stronger editorial compositions.
   - What we solve uses spacing, not an outer divider, to separate zones.
   - Footer ibis is fully contained and intentionally positioned.
   - Homepage hero/drone/case/CTA imagery can now be replaced with responsive Media Library assets. */

/* Header: normal at the top of the page, compact and translucent only once JS
   confirms the visitor has moved beyond the hero. */
.site-header{
  transition:background-color .24s ease,border-color .24s ease,box-shadow .24s ease;
}
.site-header .header-inner,
.site-header .brand img,
.site-header .main-nav{
  transition:height .24s ease,width .24s ease,font-size .24s ease;
}
.site-header.is-sticky{
  position:sticky;
  top:0;
  background:rgba(246,242,233,.955);
  -webkit-backdrop-filter:blur(14px);
  backdrop-filter:blur(14px);
  border-color:rgba(113,109,103,.22);
  box-shadow:0 8px 30px rgba(23,23,23,.055);
}
.site-header.is-sticky .header-inner{height:74px}
.site-header.is-sticky .brand img{width:168px;max-height:58px}
.site-header.is-sticky .main-nav{font-size:.9rem}
.site-header.is-sticky .header-cta{padding:11px 17px!important}

/* We think / simplify / build: one coherent panel per idea, with the sketch
   allowed to behave like an editorial illustration rather than a tiny icon. */
.three-thinking.thinking-unified{
  grid-template-columns:repeat(3,minmax(0,1fr));
}
.thinking-panel{
  min-height:348px;
  padding:30px 38px 32px;
  grid-template-columns:1fr;
  grid-template-rows:auto 1fr;
  gap:8px;
  align-items:start;
}
.thinking-panel-top{
  width:100%;
  min-height:188px;
  display:grid;
  grid-template-columns:auto minmax(0,1fr);
  align-items:start;
  gap:24px;
}
.thinking-panel-top .num{
  padding-top:7px;
  font-size:2.35rem;
}
.thinking-panel-top img{
  width:min(100%,285px);
  max-width:285px;
  height:188px;
  max-height:none;
  justify-self:center;
  object-position:center;
  opacity:.98;
}
.thinking-panel-copy{
  justify-content:flex-start;
  padding-left:0;
}
.thinking-panel-copy h3{
  font-size:2.6rem;
  margin:2px 0 14px;
}
.thinking-panel-copy ul{
  font-size:.97rem;
  line-height:1.62;
}
.thinking-panel-copy .micro-arrow{margin-top:17px}

/* What we solve: remove the residual left edge line and slightly reduce card
   depth so the section uses its available width more efficiently. */
.services-section{padding:52px 0 58px}
.services-grid{gap:44px}
.service-cards{
  border-left:0;
}
.service-card{
  min-height:134px;
  padding:21px 24px;
  border-left:0;
}
.service-card:not(:nth-child(3n+1)){
  border-left:1px solid var(--line);
}
.service-card .icon{font-size:1.8rem}
.service-card h4{margin:8px 0 6px}
.service-card p{line-height:1.47}

/* Footer detail: keep the field sketch visible as a deliberate end-note rather
   than letting it disappear into or clip against the edge of the contact cell. */
.footer-editorial-contact{padding-right:150px}
.footer-editorial-ibis{
  width:142px;
  right:24px;
  bottom:22px;
  opacity:.15;
}

@media(max-width:1180px){
  .thinking-panel{min-height:330px;padding:28px 28px 30px}
  .thinking-panel-top{min-height:164px;gap:18px}
  .thinking-panel-top img{width:min(100%,235px);max-width:235px;height:164px}
  .thinking-panel-copy h3{font-size:2.35rem}
  .footer-editorial-contact{padding-right:124px}
  .footer-editorial-ibis{width:122px;right:16px;bottom:20px}
}

@media(max-width:1050px){
  .site-header.is-sticky .header-inner{height:76px}
  .site-header.is-sticky .brand img{width:148px}
  .thinking-panel{min-height:auto}
  .thinking-panel-top img{width:min(100%,255px);max-width:255px;height:175px}
  .service-card{border-left:0!important}
  .service-card:nth-child(even){border-left:1px solid var(--line)!important}
}

@media(max-width:760px){
  .site-header.is-sticky .header-inner{height:68px}
  .site-header.is-sticky .brand img{width:122px}
  .site-header.is-sticky .main-nav{top:68px}
  .thinking-panel{
    grid-template-columns:1fr;
    gap:6px;
    padding:26px 24px 28px;
  }
  .thinking-panel-top{
    min-height:145px;
    display:grid;
    grid-template-columns:auto 1fr;
    align-items:start;
    gap:18px;
  }
  .thinking-panel-top img{
    width:min(100%,220px);
    max-width:220px;
    height:145px;
    justify-self:center;
  }
  .thinking-panel-copy h3{font-size:2.2rem}
  .thinking-panel-copy ul{font-size:.98rem}
  .service-card{border-left:0!important}
  .footer-editorial-contact{padding-right:108px}
  .footer-editorial-ibis{width:106px;right:8px;bottom:18px}
}

@media(max-width:520px){
  .thinking-panel-top img{width:min(100%,190px);max-width:190px;height:132px}
  .footer-editorial-contact{padding-right:96px}
  .footer-editorial-contact-content{max-width:100%}
  .footer-editorial-ibis{width:88px;right:4px;bottom:20px}
}


/* v0.15 — restore approved Footer Option 1 (Editorial Grid) and remove the
   out-of-place lower annotation from What we solve while we review section options. */
.footer-option-one .footer-editorial-grid{
  grid-template-columns:minmax(235px,1.25fr) repeat(4,minmax(110px,.7fr)) minmax(355px,1.7fr);
  padding:58px 0 42px;
}
.footer-option-one .footer-editorial-brand{padding-right:36px}
.footer-option-one .footer-editorial-brand img{width:190px;margin-bottom:18px}
.footer-option-one .footer-editorial-brand p{font-size:1rem;line-height:1.7}
.footer-option-one .footer-editorial-column{padding:4px 24px 0}
.footer-option-one .footer-editorial-contact{
  min-height:205px;
  padding:4px 250px 0 34px;
  overflow:hidden;
}
.footer-option-one .footer-editorial-contact-content{max-width:220px;position:relative;z-index:3}
.footer-option-one .footer-editorial-contact p{font-size:1rem;line-height:1.62}
.footer-option-one .footer-editorial-ibis-photo{
  position:absolute;
  z-index:1;
  right:-35px;
  bottom:-8px;
  width:320px;
  height:210px;
  object-fit:cover;
  object-position:50% 40%;
  opacity:.42;
  filter:grayscale(1) contrast(1.08);
  mix-blend-mode:screen;
  -webkit-mask-image:linear-gradient(90deg,transparent 0%,rgba(0,0,0,.55) 22%,#000 52%);
  mask-image:linear-gradient(90deg,transparent 0%,rgba(0,0,0,.55) 22%,#000 52%);
  pointer-events:none;
}
.footer-option-one .footer-editorial-legal{font-size:.9rem}
.service-note-two{display:none!important}

@media(max-width:1280px){
  .footer-option-one .footer-editorial-grid{grid-template-columns:1.15fr repeat(4,.72fr) minmax(300px,1.45fr)}
  .footer-option-one .footer-editorial-contact{padding-right:205px}
  .footer-option-one .footer-editorial-ibis-photo{width:275px}
}
@media(max-width:1180px){
  .footer-option-one .footer-editorial-grid{grid-template-columns:1.2fr repeat(2,1fr) 1.35fr;row-gap:34px}
  .footer-option-one .footer-editorial-brand{grid-row:span 2}
  .footer-option-one .footer-editorial-contact{grid-column:4;grid-row:1 / span 2;padding-right:185px}
  .footer-option-one .footer-editorial-ibis-photo{width:245px;height:205px;right:-30px}
}
@media(max-width:820px){
  .footer-option-one .footer-editorial-grid{grid-template-columns:1fr 1fr}
  .footer-option-one .footer-editorial-brand{grid-column:1/-1;grid-row:auto}
  .footer-option-one .footer-editorial-contact{grid-column:1/-1;grid-row:auto;padding:28px 230px 14px 0;min-height:190px}
  .footer-option-one .footer-editorial-ibis-photo{width:280px;height:190px;right:-35px;bottom:-4px}
}
@media(max-width:560px){
  .footer-option-one .footer-editorial-grid{grid-template-columns:1fr}
  .footer-option-one .footer-editorial-contact{grid-column:auto;padding:26px 0 172px;min-height:340px}
  .footer-option-one .footer-editorial-contact-content{max-width:100%}
  .footer-option-one .footer-editorial-ibis-photo{width:300px;height:185px;right:-34px;bottom:-8px}
}

/* v0.16 — apply the approved visual refinement mockup.
   What we solve: one purposeful handwritten annotation above the capability grid.
   Footer: restore the original Option 1 Editorial Grid with the large ibis portrait
   carrying the right edge of the composition. */

/* What we solve — keep the section architectural, but let the single annotation
   act like a field-note caption rather than loose copy floating below the grid. */
.services-grid{
  grid-template-columns:minmax(250px,.64fr) minmax(0,2.08fr);
  gap:48px;
  align-items:start;
}
.services-title{padding-top:2px}
.service-cards{position:relative}
.service-note-one{
  right:0;
  top:-42px;
  transform:rotate(-1deg);
  color:#4e4942;
  opacity:.96;
  font-size:1rem;
  letter-spacing:.01em;
  white-space:nowrap;
}
.service-note-one::after{
  content:'';
  display:block;
  width:158px;
  height:2px;
  margin:6px 0 0 auto;
  background:var(--copper);
  opacity:.82;
  transform:rotate(-1deg);
  transform-origin:right center;
}
.service-note-two{display:none!important}

/* Footer Option 1 — editorial grid, open columns and a large tonal ibis portrait. */
.site-footer-editorial.footer-option-one{
  position:relative;
  overflow:hidden;
  background:#151515;
}
.footer-option-one .container{position:relative;z-index:2}
.footer-option-one .footer-editorial-grid{
  grid-template-columns:minmax(235px,1.22fr) repeat(4,minmax(118px,.72fr)) minmax(390px,1.8fr);
  gap:0;
  padding:60px 0 44px;
  align-items:start;
}
.footer-option-one .footer-editorial-brand{
  padding:2px 42px 0 0;
  border-right:1px solid rgba(255,255,255,.13);
}
.footer-option-one .footer-editorial-brand img{
  width:188px;
  max-height:82px;
  object-fit:contain;
  object-position:left center;
  margin:0 0 20px;
  filter:brightness(0) invert(1);
}
.footer-option-one .footer-editorial-brand p{
  margin:0;
  font-size:1rem;
  line-height:1.72;
  color:#c7c1b9;
}
.footer-option-one .footer-editorial-column{
  padding:4px 24px 0;
  border-right:0;
}
.footer-option-one .footer-editorial-column h3,
.footer-option-one .footer-editorial-contact h3{
  font-size:1.05rem;
  line-height:1.25;
  margin:0 0 17px;
  color:#fff;
  font-weight:600;
}
.footer-option-one .footer-editorial-column a{
  display:block;
  width:max-content;
  max-width:100%;
  margin:0 0 9px;
  font-size:.97rem;
  line-height:1.45;
  color:#c8c2b9;
}
.footer-option-one .footer-editorial-column a:hover{color:#fff}
.footer-option-one .footer-editorial-contact{
  position:relative;
  min-height:218px;
  padding:4px 260px 0 36px;
  border-left:1px solid rgba(255,255,255,.13);
  overflow:hidden;
}
.footer-option-one .footer-editorial-contact-content{
  position:relative;
  z-index:4;
  max-width:225px;
}
.footer-option-one .footer-editorial-contact p{
  margin:0 0 23px;
  color:#c8c2b9;
  font-size:1rem;
  line-height:1.62;
}
.footer-option-one .footer-contact-button{
  position:relative;
  z-index:4;
  display:inline-flex;
  align-items:center;
  justify-content:space-between;
  gap:28px;
  min-width:136px;
  min-height:46px;
  padding:11px 15px;
  border:1px solid var(--copper);
  color:#d98556;
  font-size:.92rem;
  line-height:1;
}
.footer-option-one .footer-contact-button:hover{
  background:var(--copper);
  color:#fff;
}
.footer-option-one .footer-editorial-ibis-photo{
  position:absolute;
  z-index:1;
  right:-34px;
  bottom:-2px;
  width:365px;
  height:218px;
  object-fit:cover;
  object-position:52% 42%;
  opacity:.46;
  filter:grayscale(1) contrast(1.14) brightness(.82);
  mix-blend-mode:screen;
  -webkit-mask-image:linear-gradient(90deg,transparent 0%,rgba(0,0,0,.5) 18%,#000 44%,#000 100%);
  mask-image:linear-gradient(90deg,transparent 0%,rgba(0,0,0,.5) 18%,#000 44%,#000 100%);
  pointer-events:none;
}
.footer-option-one .footer-editorial-legal{
  grid-template-columns:1fr 1fr 1fr;
  min-height:62px;
  padding:19px 0 21px;
  border-top:1px solid rgba(255,255,255,.13);
  color:#aba59e;
  font-size:.9rem;
}
.footer-option-one .footer-editorial-legal span:nth-child(2){text-align:center;color:#d1cac1}
.footer-option-one .footer-editorial-legal span:last-child{text-align:right}

@media(max-width:1280px){
  .footer-option-one .footer-editorial-grid{
    grid-template-columns:1.15fr repeat(4,.72fr) minmax(325px,1.5fr);
  }
  .footer-option-one .footer-editorial-contact{padding-right:220px;padding-left:28px}
  .footer-option-one .footer-editorial-ibis-photo{width:315px}
}
@media(max-width:1180px){
  .services-grid{gap:36px}
  .service-note-one{top:-36px;font-size:.94rem}
  .service-note-one::after{width:142px}
  .footer-option-one .footer-editorial-grid{
    grid-template-columns:1.2fr repeat(2,1fr) minmax(300px,1.35fr);
    row-gap:34px;
  }
  .footer-option-one .footer-editorial-brand{grid-row:span 2}
  .footer-option-one .footer-editorial-contact{
    grid-column:4;
    grid-row:1 / span 2;
    padding-right:190px;
  }
  .footer-option-one .footer-editorial-ibis-photo{width:270px;height:210px;right:-32px}
}
@media(max-width:1050px){
  .services-grid{grid-template-columns:1fr;gap:34px}
  .service-note-one{
    position:relative;
    top:auto;
    right:auto;
    justify-self:end;
    width:max-content;
    max-width:100%;
    margin:-4px 0 10px auto;
    grid-column:1;
    grid-row:2;
  }
  .service-cards{grid-row:3}
}
@media(max-width:820px){
  .footer-option-one .footer-editorial-grid{grid-template-columns:1fr 1fr}
  .footer-option-one .footer-editorial-brand{
    grid-column:1/-1;
    grid-row:auto;
    border-right:0;
    border-bottom:1px solid rgba(255,255,255,.13);
    padding:0 0 28px;
  }
  .footer-option-one .footer-editorial-contact{
    grid-column:1/-1;
    grid-row:auto;
    min-height:205px;
    padding:30px 245px 12px 0;
    border-left:0;
    border-top:1px solid rgba(255,255,255,.13);
  }
  .footer-option-one .footer-editorial-ibis-photo{width:310px;height:200px;right:-34px;bottom:-3px}
  .footer-option-one .footer-editorial-legal{grid-template-columns:1fr 1fr;gap:8px 20px}
  .footer-option-one .footer-editorial-legal span:nth-child(2){text-align:right}
  .footer-option-one .footer-editorial-legal span:last-child{grid-column:1/-1;text-align:left}
}
@media(max-width:560px){
  .service-note-one{font-size:.88rem;margin-top:0}
  .service-note-one::after{width:124px}
  .footer-option-one .footer-editorial-grid{grid-template-columns:1fr;padding-top:48px}
  .footer-option-one .footer-editorial-column{padding:0 0 24px}
  .footer-option-one .footer-editorial-contact{
    grid-column:auto;
    padding:28px 0 178px;
    min-height:350px;
  }
  .footer-option-one .footer-editorial-contact-content{max-width:100%}
  .footer-option-one .footer-editorial-ibis-photo{width:330px;height:195px;right:-38px;bottom:-4px}
  .footer-option-one .footer-editorial-legal{grid-template-columns:1fr}
  .footer-option-one .footer-editorial-legal span,
  .footer-option-one .footer-editorial-legal span:nth-child(2),
  .footer-option-one .footer-editorial-legal span:last-child{grid-column:auto;text-align:left}
}


/* v0.17 — footer image integration + footer contact readability + larger
   What we solve capability icons. */

/* The footer portrait should feel printed into the black field rather than placed
   inside a rectangular image box. A soft elliptical mask feathers every edge. */
.footer-option-one .footer-editorial-contact{
  padding-right:34px;
  isolation:isolate;
}
.footer-option-one .footer-editorial-contact::before{
  content:'';
  position:absolute;
  z-index:2;
  inset:0;
  pointer-events:none;
  background:linear-gradient(90deg,#151515 0%,rgba(21,21,21,.98) 34%,rgba(21,21,21,.72) 49%,rgba(21,21,21,.16) 68%,rgba(21,21,21,0) 84%);
}
.footer-option-one .footer-editorial-contact-content{
  z-index:4;
  max-width:285px;
}
.footer-option-one .footer-editorial-contact p{
  max-width:275px;
  font-size:1rem;
  line-height:1.55;
}
.footer-option-one .footer-contact-button{
  width:max-content;
  min-width:0;
  white-space:nowrap;
  flex-wrap:nowrap;
  padding-inline:17px;
}
.footer-option-one .footer-contact-button span{flex:0 0 auto}
.footer-option-one .footer-editorial-ibis-photo{
  z-index:1;
  right:-18px;
  bottom:-4px;
  width:390px;
  height:225px;
  opacity:.58;
  object-position:56% 42%;
  mix-blend-mode:normal;
  filter:grayscale(1) contrast(1.18) brightness(.76);
  -webkit-mask-image:radial-gradient(ellipse 72% 72% at 58% 51%,#000 0%,#000 48%,rgba(0,0,0,.9) 61%,rgba(0,0,0,.48) 78%,transparent 100%);
  mask-image:radial-gradient(ellipse 72% 72% at 58% 51%,#000 0%,#000 48%,rgba(0,0,0,.9) 61%,rgba(0,0,0,.48) 78%,transparent 100%);
}

/* Give the six capability cards stronger visual anchors. */
.service-card .icon{
  font-size:2.65rem;
  line-height:1;
  min-height:46px;
  display:flex;
  align-items:center;
  color:var(--copper);
  margin-bottom:4px;
}
.service-card h4{margin-top:6px}

@media(max-width:1280px){
  .footer-option-one .footer-editorial-contact{padding-right:26px}
  .footer-option-one .footer-editorial-contact-content{max-width:265px}
  .footer-option-one .footer-editorial-contact p{max-width:260px}
  .footer-option-one .footer-editorial-ibis-photo{width:350px;height:215px;right:-24px}
}
@media(max-width:1180px){
  .footer-option-one .footer-editorial-contact{padding-right:22px}
  .footer-option-one .footer-editorial-contact-content{max-width:250px}
  .footer-option-one .footer-editorial-contact p{max-width:245px}
  .footer-option-one .footer-editorial-ibis-photo{width:320px;height:215px;right:-30px}
}
@media(max-width:820px){
  .footer-option-one .footer-editorial-contact{padding:30px 0 18px;min-height:220px}
  .footer-option-one .footer-editorial-contact-content{max-width:310px}
  .footer-option-one .footer-editorial-contact p{max-width:300px}
  .footer-option-one .footer-editorial-contact::before{
    background:linear-gradient(90deg,#151515 0%,rgba(21,21,21,.97) 36%,rgba(21,21,21,.66) 58%,transparent 88%);
  }
  .footer-option-one .footer-editorial-ibis-photo{width:330px;height:205px;right:-20px;bottom:-2px;opacity:.48}
  .service-card .icon{font-size:2.45rem;min-height:42px}
}
@media(max-width:560px){
  .footer-option-one .footer-editorial-contact{padding:28px 0 170px;min-height:360px}
  .footer-option-one .footer-editorial-contact-content{max-width:100%}
  .footer-option-one .footer-editorial-contact p{max-width:290px}
  .footer-option-one .footer-editorial-contact::before{
    background:linear-gradient(180deg,#151515 0%,#151515 42%,rgba(21,21,21,.84) 58%,rgba(21,21,21,.22) 82%,transparent 100%);
  }
  .footer-option-one .footer-editorial-ibis-photo{width:350px;height:205px;right:-26px;bottom:-5px;opacity:.5}
  .service-card .icon{font-size:2.3rem;min-height:40px}
}


/* v0.18 — approved Option 2 for We think / We simplify / We build.
   A connected horizontal flow replaces the three boxed panels. The sequence
   reads as one idea moving from understanding → simplifying → making. */
.thinking-flow-section{
  padding:0;
  background:var(--paper-2);
  border-bottom:1px solid var(--line);
}
.thinking-flow{
  display:grid;
  grid-template-columns:minmax(0,1fr) 62px minmax(0,1fr) 62px minmax(0,1fr);
  align-items:stretch;
  padding:28px 0 30px;
  border-top:1px solid var(--line);
  border-bottom:1px solid var(--line);
}
.thinking-flow-step{
  min-width:0;
  min-height:270px;
  display:grid;
  grid-template-columns:58px minmax(145px,.92fr) minmax(155px,1.08fr);
  gap:16px;
  align-items:center;
  padding:24px 8px;
  position:relative;
}
.thinking-flow-num{
  width:54px;
  height:54px;
  border-radius:50%;
  display:grid;
  place-items:center;
  align-self:start;
  margin-top:8px;
  background:rgba(182,96,52,.075);
  color:var(--copper);
  font-family:var(--display);
  font-size:1.8rem;
  line-height:1;
}
.thinking-flow-copy{min-width:0;align-self:center}
.thinking-flow-copy h2{
  margin:0 0 15px;
  font-family:var(--display);
  font-size:clamp(2rem,2.15vw,2.6rem);
  line-height:1;
  font-weight:600;
}
.thinking-flow-copy ul{
  list-style:none;
  margin:0;
  padding:0;
  font-size:.98rem;
  line-height:1.58;
}
.thinking-flow-visual{
  min-width:0;
  height:190px;
  display:flex;
  align-items:center;
  justify-content:center;
  padding:2px 0;
}
.thinking-flow-visual img{
  width:min(100%,235px);
  height:100%;
  object-fit:contain;
  object-position:center;
  opacity:.98;
  filter:contrast(1.08);
}
.thinking-flow-connector{
  display:flex;
  align-items:center;
  justify-content:center;
  position:relative;
  color:var(--copper);
}
.thinking-flow-connector:before{
  content:'';
  width:44px;
  height:1px;
  background:var(--copper);
  opacity:.58;
  position:absolute;
  left:8px;
  top:50%;
}
.thinking-flow-connector span{
  position:relative;
  z-index:1;
  display:grid;
  place-items:center;
  width:25px;
  height:25px;
  margin-left:31px;
  background:var(--paper-2);
  font-size:1.45rem;
  line-height:1;
}

@media(max-width:1320px){
  .thinking-flow{grid-template-columns:minmax(0,1fr) 42px minmax(0,1fr) 42px minmax(0,1fr)}
  .thinking-flow-step{grid-template-columns:50px minmax(0,1fr);grid-template-rows:auto 145px;gap:10px 14px;padding:22px 5px;min-height:290px}
  .thinking-flow-num{width:48px;height:48px;font-size:1.65rem}
  .thinking-flow-copy h2{font-size:2.18rem;margin-bottom:11px}
  .thinking-flow-copy ul{font-size:.93rem}
  .thinking-flow-visual{grid-column:1/-1;height:145px;margin-top:1px}
  .thinking-flow-visual img{width:min(100%,205px)}
  .thinking-flow-connector:before{width:30px;left:5px}
  .thinking-flow-connector span{margin-left:21px}
}

@media(max-width:900px){
  .thinking-flow{
    grid-template-columns:1fr;
    padding:8px 0;
    border-top:0;
    border-bottom:0;
  }
  .thinking-flow-step{
    min-height:auto;
    grid-template-columns:58px minmax(0,1fr) minmax(160px,.85fr);
    grid-template-rows:auto;
    gap:18px;
    padding:30px 0;
    border-bottom:1px solid var(--line);
  }
  .thinking-flow-step:last-of-type{border-bottom:0}
  .thinking-flow-num{width:52px;height:52px}
  .thinking-flow-copy h2{font-size:2.35rem}
  .thinking-flow-copy ul{font-size:1rem}
  .thinking-flow-visual{grid-column:auto;height:160px;margin:0}
  .thinking-flow-visual img{width:min(100%,220px)}
  .thinking-flow-connector{height:34px;margin:-17px 0;z-index:3;pointer-events:none}
  .thinking-flow-connector:before{width:1px;height:26px;left:50%;top:4px;background:var(--copper)}
  .thinking-flow-connector span{margin:15px 0 0;background:var(--paper-2);transform:rotate(90deg);width:27px;height:27px}
}

@media(max-width:620px){
  .thinking-flow-step{
    grid-template-columns:52px minmax(0,1fr);
    grid-template-rows:auto 150px;
    gap:12px 15px;
    padding:27px 0;
  }
  .thinking-flow-num{width:46px;height:46px;font-size:1.55rem}
  .thinking-flow-copy h2{font-size:2.15rem;margin-bottom:10px}
  .thinking-flow-copy ul{font-size:.98rem;line-height:1.55}
  .thinking-flow-visual{grid-column:1/-1;height:150px}
  .thinking-flow-visual img{width:min(100%,210px)}
}


/* v0.19 — final polish for the approved connected thinking flow.
   Larger field-note illustrations, clearer connector arrows, and a tighter
   shared alignment so all three stages read as one deliberate sequence. */
@media(min-width:1321px){
  .thinking-flow-step{
    grid-template-columns:54px minmax(170px,1fr) minmax(180px,1.12fr);
    gap:13px;
    padding-top:22px;
    padding-bottom:22px;
  }
  .thinking-flow-num{
    width:54px;
    height:54px;
    align-self:start;
    margin-top:10px;
  }
  .thinking-flow-copy{
    align-self:center;
    min-height:168px;
    display:flex;
    flex-direction:column;
    justify-content:flex-start;
    padding-top:7px;
  }
  .thinking-flow-copy h2{
    font-size:clamp(2rem,2vw,2.42rem);
    line-height:.98;
    white-space:nowrap;
    margin-bottom:14px;
  }
  .thinking-flow-visual{
    height:207px;
  }
  .thinking-flow-visual img{
    width:min(100%,266px);
  }
  .thinking-flow-connector:before{
    width:48px;
    height:2px;
    left:7px;
    opacity:.76;
  }
  .thinking-flow-connector span{
    width:29px;
    height:29px;
    margin-left:34px;
    font-size:1.68rem;
    font-weight:600;
    color:var(--copper-dark);
  }
}

@media(min-width:901px) and (max-width:1320px){
  .thinking-flow-step{
    grid-template-rows:auto 158px;
  }
  .thinking-flow-copy{
    align-self:start;
    padding-top:3px;
  }
  .thinking-flow-copy h2{
    line-height:1;
  }
  .thinking-flow-visual{
    height:158px;
  }
  .thinking-flow-visual img{
    width:min(100%,230px);
  }
  .thinking-flow-connector:before{
    height:2px;
    opacity:.74;
  }
  .thinking-flow-connector span{
    font-size:1.6rem;
    color:var(--copper-dark);
  }
}

@media(max-width:900px){
  .thinking-flow-visual img{
    width:min(100%,242px);
  }
  .thinking-flow-connector:before{
    opacity:.76;
  }
  .thinking-flow-connector span{
    color:var(--copper-dark);
    font-weight:600;
  }
}

@media(max-width:620px){
  .thinking-flow-visual img{
    width:min(100%,228px);
  }
}

/* v0.20 — Work page: problem-led portfolio */
.work-hero{overflow:hidden;border-bottom:1px solid var(--line);background:var(--paper)}
.work-hero-grid{display:grid;grid-template-columns:minmax(0,.88fr) minmax(0,1.32fr);min-height:clamp(520px,57vh,610px)}
.work-hero-copy{position:relative;z-index:2;display:flex;flex-direction:column;justify-content:center;padding:58px var(--pad) 58px max(var(--pad),calc((100vw - var(--max))/2 + var(--pad)));background:linear-gradient(90deg,var(--paper) 77%,rgba(246,242,233,.84) 88%,rgba(246,242,233,0) 100%)}
.work-hero-title{font-size:clamp(4.5rem,6.1vw,7.25rem);max-width:8ch}
.work-hero-copy .lede{margin:24px 0 22px;max-width:43ch;line-height:1.62}
.work-hero-rule{width:44px;height:2px;background:var(--copper);margin:23px 0 0}
.work-hero-media{position:relative;overflow:hidden;margin-left:-78px;min-height:clamp(520px,57vh,610px)}
.work-hero-media img{width:100%;height:100%;object-fit:cover;filter:saturate(.78) contrast(1.02)}
.work-hero-media:after{content:'';position:absolute;inset:0;background:linear-gradient(90deg,var(--paper) 0%,rgba(246,242,233,.11) 24%,rgba(23,23,23,.05) 100%);pointer-events:none}

.work-filter-shell{position:relative;z-index:3;background:rgba(251,248,241,.97);border-bottom:1px solid var(--line)}
.work-filters{min-height:74px;display:flex;align-items:center;justify-content:space-between;gap:28px}
.work-filter-buttons{display:flex;align-items:center;gap:clamp(18px,2.2vw,38px);flex-wrap:wrap}
.work-filter{appearance:none;border:0;border-bottom:2px solid transparent;background:none;padding:25px 0 19px;color:var(--ink);font-size:.93rem;line-height:1;font-weight:600;cursor:pointer;white-space:nowrap;transition:color .2s ease,border-color .2s ease}
.work-filter:hover,.work-filter.is-active{color:var(--copper);border-color:var(--copper)}
.work-industry-filter{display:flex;align-items:center;gap:12px;font-size:.9rem;font-weight:600;white-space:nowrap}
.work-industry-filter span{color:#4f4a45}
.work-industry-filter select{max-width:190px;border:0;border-bottom:1px solid var(--line);background:transparent;padding:7px 28px 7px 5px;color:var(--ink);font-size:.92rem;cursor:pointer}

.work-projects{background:var(--paper-2);border-bottom:1px solid var(--line)}
.work-project-list{padding-top:0;padding-bottom:0}
.work-project{display:grid;grid-template-columns:minmax(255px,.72fr) minmax(480px,1.42fr) minmax(195px,.46fr);gap:34px;align-items:center;padding:32px 0;border-bottom:1px solid var(--line);transition:opacity .2s ease}
.work-project:last-of-type{border-bottom:0}
.work-project[hidden]{display:none!important}
.work-project-topline{display:flex;align-items:center;gap:20px;margin-bottom:14px}
.work-project-number{font-family:var(--display);font-size:1.85rem;line-height:1;color:var(--copper);font-weight:600}
.work-project-category{font-size:.77rem;line-height:1.3;color:#57524c;font-weight:600}
.work-project-copy h3{font-family:var(--display);font-size:clamp(2.3rem,3vw,3.7rem);font-weight:600;line-height:.98;letter-spacing:-.01em;margin:0 0 14px;max-width:12ch}
.work-project-lead{font-size:1.08rem;line-height:1.45;margin:0 0 15px;max-width:36ch;font-weight:500}
.work-project-detail{font-size:.98rem;line-height:1.58;color:#4f4a44;margin:0 0 20px;max-width:43ch}
.work-project-copy .text-link{margin-top:4px}
.work-project-media{position:relative;display:block;overflow:hidden;aspect-ratio:16/6.25;background:#1b1b1b}
.work-project-media img{width:100%;height:100%;object-fit:cover;filter:saturate(.72) contrast(1.02);transition:transform .55s cubic-bezier(.2,.7,.2,1),filter .35s ease}
.work-project-media:after{content:'';position:absolute;inset:0;background:linear-gradient(180deg,transparent 58%,rgba(0,0,0,.44));opacity:.45;transition:opacity .3s ease}
.work-project-media:hover img{transform:scale(1.025);filter:saturate(.9) contrast(1.03)}
.work-project-media:hover:after{opacity:.75}
.work-project-media-label{position:absolute;z-index:2;right:16px;bottom:13px;color:#fff;font-size:.82rem;font-weight:600;opacity:0;transform:translateY(5px);transition:opacity .25s ease,transform .25s ease}
.work-project-media:hover .work-project-media-label{opacity:1;transform:none}
.work-project-impact{align-self:stretch;display:flex;flex-direction:column;justify-content:center;padding-left:24px;border-left:1px solid var(--line)}
.work-project-impact .eyebrow{margin-bottom:7px}
.work-impact-metric{padding:16px 0;border-bottom:1px solid rgba(216,209,198,.72)}
.work-impact-metric:last-child{border-bottom:0}
.work-impact-metric strong{display:block;font-family:var(--display);font-size:2.5rem;font-weight:600;line-height:1;color:var(--ink);margin-bottom:6px}
.work-impact-metric span{display:block;font-size:.9rem;line-height:1.42;color:#514c46;max-width:18ch}
.work-no-results{padding:80px 0 90px;text-align:center}
.work-no-results h3{font-family:var(--display);font-size:3rem;margin:8px 0}
.work-no-results p{max-width:48ch;margin:0 auto;color:#5a554f}

.work-end-cta{position:relative;overflow:hidden;background:var(--paper);border-bottom:1px solid var(--line)}
.work-end-grid{position:relative;display:grid;grid-template-columns:1.1fr .9fr;gap:clamp(45px,8vw,120px);align-items:center;min-height:330px;padding-top:64px;padding-bottom:64px}
.work-end-copy .display{font-size:clamp(3.5rem,5vw,5.7rem)}
.work-end-message{max-width:590px}
.work-end-message>p{font-size:1.12rem;line-height:1.62;margin:0 0 26px;max-width:48ch}
.work-end-actions{display:flex;align-items:center;gap:28px;flex-wrap:wrap}
.work-end-note{position:absolute;right:3%;top:38px;font-family:'Comic Sans MS','Segoe Print',cursive;font-size:1rem;color:#6f675f;transform:rotate(-3deg);opacity:.72}
.work-end-note:after{content:'';display:block;width:100px;height:1px;background:var(--copper);margin-top:4px;transform:rotate(2deg);transform-origin:left center}

@media(max-width:1180px){
  .work-hero-grid{grid-template-columns:.92fr 1.08fr}
  .work-hero-media{margin-left:-45px}
  .work-project{grid-template-columns:minmax(230px,.7fr) minmax(410px,1.3fr);gap:28px}
  .work-project-impact{grid-column:1/-1;display:grid;grid-template-columns:auto repeat(3,1fr);align-items:center;border-left:0;border-top:1px solid var(--line);padding:22px 0 0;gap:18px}
  .work-project-impact .eyebrow{margin:0}
  .work-impact-metric{border-bottom:0;border-left:1px solid var(--line);padding:0 0 0 22px}
  .work-filters{align-items:flex-start;flex-direction:column;padding-top:8px;padding-bottom:14px}
  .work-industry-filter{align-self:flex-end}
}

@media(max-width:820px){
  .work-hero-grid{grid-template-columns:1fr;min-height:0}
  .work-hero-copy{padding-top:58px;padding-bottom:46px;background:var(--paper)}
  .work-hero-title{font-size:clamp(4rem,13vw,5.8rem);max-width:none}
  .work-hero-media{margin:0;min-height:330px}
  .work-hero-media:after{background:linear-gradient(180deg,var(--paper) 0%,rgba(246,242,233,0) 18%)}
  .work-filters{gap:16px;padding-top:12px}
  .work-filter-buttons{gap:12px 22px}
  .work-filter{padding:10px 0 9px}
  .work-industry-filter{align-self:stretch;justify-content:space-between;border-top:1px solid var(--line);padding-top:14px}
  .work-industry-filter select{width:55%;max-width:none}
  .work-project{grid-template-columns:1fr;padding:32px 0 38px;gap:22px}
  .work-project-copy{order:2}
  .work-project-media{order:1;aspect-ratio:16/8.7}
  .work-project-impact{order:3;grid-column:auto;grid-template-columns:1fr;gap:0;padding-top:20px}
  .work-project-impact .eyebrow{margin-bottom:8px}
  .work-impact-metric{display:grid;grid-template-columns:90px 1fr;gap:16px;border-left:0;border-bottom:1px solid var(--line);padding:12px 0;align-items:baseline}
  .work-impact-metric:last-child{border-bottom:0}
  .work-impact-metric strong{font-size:2.15rem;margin:0}
  .work-impact-metric span{max-width:none;font-size:.94rem}
  .work-project-copy h3{font-size:3.1rem;max-width:none}
  .work-end-grid{grid-template-columns:1fr;gap:26px;min-height:0;padding-top:55px;padding-bottom:60px}
  .work-end-note{display:none}
}

@media(max-width:520px){
  .work-filter-buttons{display:grid;grid-template-columns:1fr 1fr;width:100%}
  .work-filter{text-align:left;white-space:normal}
  .work-industry-filter{display:block}
  .work-industry-filter span{display:block;margin-bottom:7px}
  .work-industry-filter select{width:100%}
  .work-project-copy h3{font-size:2.7rem}
  .work-project-lead{font-size:1.02rem}
  .work-project-detail{font-size:.96rem}
  .work-end-actions{align-items:flex-start;flex-direction:column;gap:17px}
}

/* v0.21 — Phase 1 simplification
   Public launch is intentionally focused on Home, What we solve, About and Contact. */

/* Homepage: replace placeholder proof/content with one honest positioning statement. */
.phase-one-statement{
  background:var(--ink);
  color:#fff;
  border-bottom:1px solid rgba(255,255,255,.12);
  padding:68px 0 72px;
}
.phase-one-statement-grid{
  display:grid;
  grid-template-columns:minmax(0,1.08fr) minmax(360px,.92fr);
  gap:90px;
  align-items:center;
}
.phase-one-statement .eyebrow{color:#d58155}
.phase-one-statement .display{
  font-size:clamp(3.8rem,5.4vw,6.25rem);
  max-width:930px;
  line-height:.92;
}
.phase-one-statement-copy{max-width:620px}
.phase-one-statement-copy p{color:#d7d0c7;font-size:1.08rem;line-height:1.72;margin:0 0 18px}
.phase-one-statement-copy .statement-lede{color:#fff;font-size:1.45rem;line-height:1.45;max-width:27ch}
.statement-note{font-family:'Comic Sans MS','Segoe Print',cursive;color:#d9cfc3;font-size:1rem;margin-top:30px;transform:rotate(-1deg)}

/* Phase 1 page hero refinement. */
.phase-one-page-hero .page-hero-grid{min-height:540px}
.phase-one-hero-principles{display:flex;gap:13px 26px;flex-wrap:wrap;margin-top:30px;padding-top:18px;border-top:1px solid var(--line)}
.phase-one-hero-principles span{font-size:.83rem;font-weight:600;color:#4d4943;position:relative}
.phase-one-hero-principles span:not(:last-child)::after{content:'•';position:absolute;right:-16px;color:var(--copper)}

/* What we solve — capability-led rather than evidence-led. */
.capabilities-intro{padding:72px 0 64px;border-bottom:1px solid var(--line)}
.capability-intro-grid{align-items:start}
.capability-intro-grid .display{font-size:clamp(3.6rem,5vw,5.8rem)}
.capability-intro-grid .prose p{font-size:1.15rem;line-height:1.72;margin-top:0}
.capability-list-section{border-bottom:1px solid var(--line)}
.capability-list{padding-top:0;padding-bottom:0}
.capability-row{
  display:grid;
  grid-template-columns:92px minmax(0,1.35fr) minmax(260px,.65fr);
  gap:44px;
  align-items:center;
  min-height:320px;
  padding:48px 0;
  border-bottom:1px solid var(--line);
  scroll-margin-top:110px;
}
.capability-row:last-child{border-bottom:0}
.capability-number{font-family:var(--display);font-size:2.3rem;color:var(--copper);align-self:start;padding-top:4px}
.capability-copy{max-width:760px}
.capability-copy h2{font-family:var(--display);font-size:clamp(2.8rem,3.7vw,4.4rem);font-weight:600;line-height:.98;margin:0 0 14px;color:var(--ink)}
.capability-lede{font-size:1.13rem;line-height:1.62;max-width:58ch;margin:0 0 22px;color:#46423d}
.capability-copy ul{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px 28px;max-width:620px}
.capability-copy li{font-size:.98rem;line-height:1.45;padding-left:16px;position:relative}
.capability-copy li::before{content:'→';position:absolute;left:0;color:var(--copper)}
.capability-visual{min-height:210px;display:flex;flex-direction:column;align-items:center;justify-content:center;position:relative}
.capability-visual img{width:min(100%,245px);height:165px;object-fit:contain;opacity:.85}
.capability-note{font-family:'Comic Sans MS','Segoe Print',cursive;font-size:.92rem;color:#766f66;margin-top:8px;transform:rotate(-2deg)}
.capability-row:nth-child(even) .capability-visual{order:-1}
.capability-row:nth-child(even){grid-template-columns:92px minmax(260px,.65fr) minmax(0,1.35fr)}
.capability-row:nth-child(even) .capability-number{grid-column:1}
.capability-row:nth-child(even) .capability-visual{grid-column:2}
.capability-row:nth-child(even) .capability-copy{grid-column:3}
.useful-when-section{padding:72px 0;background:var(--paper-2);border-top:1px solid var(--line);border-bottom:1px solid var(--line)}
.useful-beliefs .belief{font-size:1.03rem;line-height:1.55}
.capability-cta,.about-cta{padding:70px 0 76px;background:#efe7da;border-bottom:1px solid var(--line)}
.capability-cta-grid{display:grid;grid-template-columns:.9fr 1.1fr;gap:80px;align-items:center}
.capability-cta-grid .display{font-size:clamp(4rem,5.4vw,6.2rem)}
.capability-cta-grid .lede{max-width:620px;margin-bottom:26px}

/* About — intentionally short and philosophical. */
.about-story{padding-top:76px;padding-bottom:76px}
.about-prose blockquote{font-family:var(--display);font-size:2.25rem;line-height:1.1;margin:38px 0 0;padding:0 0 0 24px;border-left:3px solid var(--copper);color:var(--ink)}
.about-method-section{padding:72px 0;background:var(--ink);color:#fff}
.about-method-head{display:grid;grid-template-columns:.7fr 1.3fr;gap:60px;align-items:end;margin-bottom:42px}
.about-method-head .eyebrow{align-self:start;color:#d58155}
.about-method-head .display{font-size:clamp(3.7rem,5.2vw,6rem);margin:0}
.about-method-flow{border-top:1px solid rgba(255,255,255,.17)}
.about-method-item{display:grid;grid-template-columns:90px .75fr 1.25fr;gap:30px;padding:28px 0;border-bottom:1px solid rgba(255,255,255,.17);align-items:start}
.about-method-num{font-family:var(--display);font-size:1.8rem;color:var(--copper)}
.about-method-item h3{font-family:var(--display);font-size:2rem;line-height:1.05;margin:0;color:#fff}
.about-method-item p{font-size:1rem;line-height:1.62;color:#cbc4ba;margin:3px 0 0;max-width:64ch}
.about-cta{background:var(--paper-2)}

/* Contact — conversational rather than generic. */
.contact-page-phase-one{padding:82px 0 88px;border-bottom:1px solid var(--line)}
.contact-phase-grid{display:grid;grid-template-columns:minmax(320px,.78fr) minmax(0,1.22fr);gap:88px;align-items:start}
.contact-phase-intro{position:sticky;top:120px}
.contact-phase-intro .display{font-size:clamp(4.7rem,6.4vw,7.3rem);line-height:.86}
.contact-phase-intro .lede{max-width:540px}
.contact-field-note{font-family:'Comic Sans MS','Segoe Print',cursive;color:#756e65;font-size:1rem;margin-top:38px;transform:rotate(-1deg)}
.contact-form-wrap{background:var(--paper-2);border:1px solid var(--line);padding:38px 42px 42px}
.phase-one-form{gap:26px 22px}
.phase-one-form .field{gap:7px}
.phase-one-form .field label,.phase-one-form legend{font-size:1rem;text-transform:none;color:var(--ink);font-weight:600;letter-spacing:0}
.phase-one-form .field-help{display:block;font-size:.88rem;color:#756e65;margin-top:-2px}
.phase-one-form input,.phase-one-form textarea{font-family:var(--body);font-size:1rem;line-height:1.5}
.phase-one-form textarea{min-height:126px;background:#fffdf8;border:1px solid #bdb4a8;padding:14px 15px;resize:vertical}
.phase-one-form input{background:transparent;padding:12px 2px}
.help-choice{border:0;margin:2px 0 0;padding:24px 0 4px;border-top:1px solid var(--line);border-bottom:1px solid var(--line)}
.help-choice legend{padding:0 0 13px}
.choice-row{display:flex!important;flex-direction:row!important;align-items:center;gap:11px!important;padding:8px 0;color:#3f3b36!important;font-size:.97rem!important;font-weight:400!important;cursor:pointer}
.choice-row input{width:auto!important;margin:0;accent-color:var(--copper)}
.optional{font-weight:400;color:#7a736a;font-size:.82rem;margin-left:5px}
.contact-submit{min-width:190px;justify-content:space-between}

/* Phase 1 footer keeps the approved Option 1 character while removing dormant sections. */
.footer-phase-one .footer-editorial-grid{
  grid-template-columns:minmax(250px,1.25fr) minmax(150px,.72fr) minmax(150px,.72fr) minmax(470px,2fr);
}
.footer-phase-one .footer-editorial-contact{min-height:220px}
.footer-phase-one .footer-editorial-contact-content{max-width:290px}
.footer-phase-one .footer-editorial-contact p{max-width:285px}

@media(max-width:1100px){
  .phase-one-statement-grid{gap:55px;grid-template-columns:1fr 1fr}
  .capability-row,.capability-row:nth-child(even){grid-template-columns:70px 1.25fr .75fr;gap:28px}
  .capability-row:nth-child(even) .capability-number{grid-column:1}.capability-row:nth-child(even) .capability-visual{grid-column:3;order:0}.capability-row:nth-child(even) .capability-copy{grid-column:2}
  .footer-phase-one .footer-editorial-grid{grid-template-columns:1.1fr .65fr .65fr 1.6fr}
}
@media(max-width:900px){
  .phase-one-statement-grid,.capability-cta-grid,.contact-phase-grid{grid-template-columns:1fr;gap:38px}
  .contact-phase-intro{position:static}
  .capability-row,.capability-row:nth-child(even){grid-template-columns:62px 1fr;gap:22px;min-height:0;padding:40px 0}
  .capability-row .capability-number,.capability-row:nth-child(even) .capability-number{grid-column:1;grid-row:1/3}
  .capability-row .capability-copy,.capability-row:nth-child(even) .capability-copy{grid-column:2;grid-row:1}
  .capability-row .capability-visual,.capability-row:nth-child(even) .capability-visual{grid-column:2;grid-row:2;order:0;align-items:flex-start;min-height:170px}
  .capability-visual img{width:210px;height:145px}
  .about-method-head{grid-template-columns:1fr;gap:16px}
  .about-method-item{grid-template-columns:62px 1fr;gap:18px}
  .about-method-item p{grid-column:2}
  .footer-phase-one .footer-editorial-grid{grid-template-columns:1fr 1fr;gap:0}
  .footer-phase-one .footer-editorial-brand{grid-column:1/-1;border-right:0;border-bottom:1px solid rgba(255,255,255,.13);padding-bottom:28px;margin-bottom:28px}
  .footer-phase-one .footer-editorial-contact{grid-column:1/-1;margin-top:26px}
}
@media(max-width:620px){
  .phase-one-statement{padding:54px 0 58px}
  .phase-one-statement .display{font-size:3.7rem}
  .phase-one-statement-copy .statement-lede{font-size:1.25rem}
  .phase-one-hero-principles span:not(:last-child)::after{display:none}
  .capability-copy ul{grid-template-columns:1fr}
  .capability-row,.capability-row:nth-child(even){grid-template-columns:48px 1fr}
  .capability-copy h2{font-size:2.7rem}
  .capability-number{font-size:1.8rem}
  .contact-form-wrap{padding:28px 22px 30px}
  .contact-phase-intro .display{font-size:4.3rem}
  .footer-phase-one .footer-editorial-grid{grid-template-columns:1fr}
  .footer-phase-one .footer-editorial-column{padding:12px 0 18px}
  .footer-phase-one .footer-editorial-contact{grid-column:auto}
}

/* v0.22 — Homepage What we solve: approved Option 1.
   Four equal capability cards with large field-note illustrations, concise
   positioning copy, arrow-led capability lists and full-width imagery at the base. */
.home-capabilities-section{
  padding:62px 0 72px;
  border-bottom:1px solid var(--line);
  background:var(--paper);
}
.home-capabilities-head{
  margin-bottom:30px;
  max-width:1050px;
}
.home-capabilities-head .eyebrow{margin-bottom:8px}
.home-capabilities-head .display{
  margin:0;
  font-size:clamp(3.35rem,4.5vw,5.35rem);
  line-height:.98;
  letter-spacing:-.018em;
  font-weight:600;
}
.home-capability-grid{
  display:grid;
  grid-template-columns:repeat(4,minmax(0,1fr));
  border-top:1px solid var(--line);
  border-left:1px solid var(--line);
}
.home-capability-card{
  min-width:0;
  display:flex;
  flex-direction:column;
  border-right:1px solid var(--line);
  border-bottom:1px solid var(--line);
  background:rgba(251,248,241,.25);
}
.home-capability-body{
  flex:1;
  padding:30px 30px 27px;
  min-height:458px;
  display:flex;
  flex-direction:column;
}
.home-capability-sketch{
  height:116px;
  display:flex;
  align-items:center;
  justify-content:center;
  margin-bottom:13px;
}
.home-capability-sketch img{
  width:auto;
  height:108px;
  max-width:190px;
  object-fit:contain;
  opacity:.9;
}
.home-capability-card h3{
  margin:0 0 12px;
  font-family:var(--display);
  font-size:clamp(1.75rem,2vw,2.35rem);
  line-height:1.02;
  font-weight:600;
}
.home-capability-card h3 span{color:var(--copper)}
.home-capability-card p{
  margin:0 0 20px;
  font-size:1rem;
  line-height:1.58;
  color:#3f3b36;
  max-width:34ch;
}
.home-capability-card ul{
  list-style:none;
  margin:auto 0 0;
  padding:0;
  display:grid;
  gap:7px;
}
.home-capability-card li{
  position:relative;
  padding-left:22px;
  font-size:.94rem;
  line-height:1.42;
}
.home-capability-card li::before{
  content:'→';
  position:absolute;
  left:0;
  top:-1px;
  color:var(--copper);
  font-size:1.02rem;
}
.home-capability-image{
  margin-top:auto;
  height:150px;
  overflow:hidden;
  border-top:1px solid var(--line);
  background:#d9d0c4;
}
.home-capability-image img{
  width:100%;
  height:100%;
  object-fit:cover;
  filter:saturate(.7) contrast(1.02);
  transition:transform .7s cubic-bezier(.2,.7,.2,1),filter .5s ease;
}
.home-capability-card:hover .home-capability-image img{
  transform:scale(1.025);
  filter:saturate(.82) contrast(1.03);
}
.home-capabilities-action{
  display:flex;
  justify-content:flex-end;
  padding-top:20px;
}
@media(max-width:1180px){
  .home-capability-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
  .home-capability-body{min-height:400px}
  .home-capability-sketch{height:108px}.home-capability-sketch img{height:100px}
}
@media(max-width:720px){
  .home-capabilities-section{padding:48px 0 56px}
  .home-capabilities-head .display{font-size:clamp(2.9rem,12vw,4.15rem)}
  .home-capability-grid{grid-template-columns:1fr}
  .home-capability-body{min-height:0;padding:27px 24px 25px}
  .home-capability-sketch{height:124px;justify-content:flex-start;margin-bottom:12px}
  .home-capability-sketch img{height:116px;max-width:210px}
  .home-capability-card h3{font-size:2.3rem}
  .home-capability-card p{font-size:1rem;max-width:42ch}
  .home-capability-card ul{margin-top:8px}
  .home-capability-image{height:180px}
  .home-capabilities-action{justify-content:flex-start}
}

/* v0.23 — What we solve, Phase 1 production page */
.solve2-hero{border-bottom:1px solid var(--line);overflow:hidden;background:var(--paper)}
.solve2-hero-grid{display:grid;grid-template-columns:minmax(0,.92fr) minmax(0,1.08fr);min-height:610px}
.solve2-hero-copy{padding:72px var(--pad) 64px max(var(--pad),calc((100vw - var(--max))/2 + var(--pad)));display:flex;flex-direction:column;justify-content:center;position:relative;z-index:2}
.solve2-hero-copy h1{font-family:var(--display);font-size:clamp(4.3rem,6vw,7.3rem);font-weight:600;letter-spacing:-.03em;line-height:.91;margin:12px 0 24px;text-transform:none;max-width:8.5ch}
.solve2-hero-copy>p{font-size:1.18rem;line-height:1.72;max-width:51ch;color:#393632;margin:0}
.solve2-hero-links{display:flex;flex-wrap:wrap;gap:9px 24px;margin-top:34px;max-width:660px}
.solve2-hero-links a{font-size:.82rem;font-weight:600;position:relative;padding:5px 17px 5px 0}
.solve2-hero-links a:after{content:'→';position:absolute;right:0;color:var(--copper);transition:transform .2s ease}
.solve2-hero-links a:hover:after{transform:translateX(4px)}
.solve2-hero-media{position:relative;overflow:hidden;min-height:610px}
.solve2-hero-media:before{content:'';position:absolute;inset:0;z-index:1;background:linear-gradient(90deg,var(--paper) 0%,rgba(246,242,233,.18) 27%,rgba(23,23,23,.08) 100%)}
.solve2-hero-media img{width:100%;height:100%;object-fit:cover;filter:saturate(.7) contrast(1.02)}
.solve2-hero-note{position:absolute;z-index:2;font-family:'Comic Sans MS','Segoe Print',cursive;color:#fff;font-size:1rem;line-height:1.25;text-shadow:0 1px 4px rgba(0,0,0,.24)}
.solve2-note-one{left:25%;top:28%;transform:rotate(-3deg)}
.solve2-note-two{right:8%;bottom:13%;max-width:170px;transform:rotate(2deg)}

.solve2-overview{padding:74px 0 84px;border-bottom:1px solid var(--line);background:var(--paper-2)}
.solve2-overview-heading{display:grid;grid-template-columns:.36fr 1.1fr .72fr;gap:34px;align-items:end;margin-bottom:36px}
.solve2-overview-heading h2{font-family:var(--display);font-size:clamp(3.2rem,4.7vw,5.45rem);font-weight:600;line-height:.94;letter-spacing:-.02em;margin:0;text-transform:none}
.solve2-overview-heading>p{font-size:1.05rem;line-height:1.65;color:#4d4943;margin:0 0 6px}
.solve2-overview-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));border-top:1px solid var(--line);border-left:1px solid var(--line)}
.solve2-overview-card{min-height:345px;padding:26px 26px 24px;border-right:1px solid var(--line);border-bottom:1px solid var(--line);position:relative;display:flex;flex-direction:column;transition:background .22s ease,transform .22s ease}
.solve2-overview-card:hover{background:rgba(182,96,52,.04);transform:translateY(-2px)}
.solve2-overview-number{font-family:var(--display);font-size:1.55rem;color:var(--copper);line-height:1}
.solve2-overview-card img{width:145px;height:112px;object-fit:contain;margin:14px 0 8px;opacity:.9}
.solve2-overview-card h3{font-family:var(--display);font-size:2.15rem;line-height:.98;font-weight:600;margin:0 0 12px;text-transform:none}
.solve2-overview-card p{font-size:.98rem;line-height:1.55;color:#4c4842;margin:0;max-width:29ch}
.solve2-overview-arrow{margin-top:auto;padding-top:18px;color:var(--copper);font-size:1.35rem}

.solve2-capability{padding:88px 0 92px;border-bottom:1px solid var(--line);background:var(--paper)}
.solve2-capability-alt{background:#eee7db}
.solve2-capability-grid{display:grid;grid-template-columns:minmax(330px,.82fr) minmax(0,1.18fr);gap:clamp(58px,7vw,112px);align-items:start}
.solve2-capability-intro{position:relative;padding-top:6px}
.solve2-num{font-family:var(--display);font-size:1.7rem;color:var(--copper);margin-bottom:10px}
.solve2-sketch{width:180px;height:132px;object-fit:contain;margin:3px 0 18px;opacity:.88}
.solve2-capability-intro h2{font-family:var(--display);font-size:clamp(3.6rem,5vw,5.75rem);line-height:.91;letter-spacing:-.025em;font-weight:600;text-transform:none;margin:10px 0 20px;max-width:8.5ch}
.solve2-capability-intro>p{font-size:1.12rem;line-height:1.68;color:#45413c;max-width:47ch;margin:0}
.solve2-capability-detail{display:grid;grid-template-columns:1fr .78fr;gap:0;border-top:1px solid var(--line);border-left:1px solid var(--line)}
.solve2-detail-block{padding:30px 34px 32px;border-right:1px solid var(--line);border-bottom:1px solid var(--line);min-height:315px}
.solve2-detail-block h3{font-size:.86rem;text-transform:uppercase;letter-spacing:.065em;color:var(--copper);margin:0 0 20px}
.solve2-detail-block ul{list-style:none;margin:0;padding:0;display:grid;gap:10px}
.solve2-detail-block li{font-size:1rem;line-height:1.4;padding-left:20px;position:relative}
.solve2-detail-block li:before{content:'→';position:absolute;left:0;color:var(--copper)}
.solve2-useful{background:rgba(255,255,255,.26)}
.solve2-useful p{font-size:1.06rem;line-height:1.66;margin:0 0 24px;color:#403d39}
.solve2-tags{display:flex;flex-wrap:wrap;gap:8px}
.solve2-tags span{border:1px solid #c9c0b4;padding:7px 10px;font-size:.75rem;text-transform:uppercase;letter-spacing:.035em;background:rgba(255,255,255,.18)}
.solve2-drone-image{grid-column:1/-1;position:relative;aspect-ratio:16/5.8;overflow:hidden;border-right:1px solid var(--line);border-bottom:1px solid var(--line)}
.solve2-drone-image img{width:100%;height:100%;object-fit:cover;filter:saturate(.74)}
.solve2-drone-image:after{content:'';position:absolute;inset:0;background:linear-gradient(180deg,transparent 55%,rgba(0,0,0,.38));pointer-events:none}
.solve2-drone-image span{position:absolute;z-index:2;left:22px;bottom:18px;color:#fff;font-family:'Comic Sans MS','Segoe Print',cursive;font-size:.95rem;transform:rotate(-1deg)}

.solve2-connected{background:var(--ink);color:#fff;padding:66px 0 70px;border-bottom:1px solid #383735}
.solve2-connected-grid{display:grid;grid-template-columns:.86fr 1.14fr;gap:90px;align-items:center}
.solve2-connected h2{font-family:var(--display);font-size:clamp(3.5rem,4.8vw,5.5rem);font-weight:600;letter-spacing:-.02em;line-height:.94;text-transform:none;margin:10px 0 0;max-width:10ch}
.solve2-connected-grid>div:last-child>p{font-size:1.1rem;line-height:1.7;color:#d4cec5;max-width:60ch;margin:0 0 27px}
.solve2-connected-flow{display:flex;flex-wrap:wrap;align-items:center;gap:10px 16px}
.solve2-connected-flow span{border-bottom:1px solid #6b6863;padding:7px 0;font-size:.92rem}
.solve2-connected-flow b{color:var(--copper);font-weight:400}

.solve2-cta{padding:70px 0 78px;background:var(--paper-2);border-bottom:1px solid var(--line)}
.solve2-cta-grid{display:grid;grid-template-columns:.75fr 1.25fr;gap:90px;align-items:center}
.solve2-cta h2{font-family:var(--display);font-size:clamp(4.7rem,6vw,7rem);line-height:.88;font-weight:600;margin:8px 0 0;text-transform:none}
.solve2-cta-grid>div:last-child>p{font-size:1.15rem;line-height:1.7;max-width:58ch;margin:0 0 25px;color:#3e3b37}

@media(max-width:1050px){
  .solve2-hero-grid{grid-template-columns:1fr}.solve2-hero-copy{padding:58px var(--pad)}.solve2-hero-copy h1{max-width:11ch}.solve2-hero-media{min-height:430px}
  .solve2-overview-heading{grid-template-columns:1fr}.solve2-overview-grid{grid-template-columns:repeat(2,1fr)}
  .solve2-capability-grid{grid-template-columns:1fr;gap:42px}.solve2-capability-intro h2{max-width:12ch}.solve2-capability-detail{grid-template-columns:1fr 1fr}
  .solve2-connected-grid,.solve2-cta-grid{grid-template-columns:1fr;gap:36px}.solve2-connected h2{max-width:13ch}
}
@media(max-width:760px){
  .solve2-hero-copy h1{font-size:4.2rem}.solve2-hero-media{min-height:330px}.solve2-hero-note{font-size:.82rem}.solve2-note-two{right:6%;bottom:10%}
  .solve2-overview{padding:54px 0 60px}.solve2-overview-grid{grid-template-columns:1fr}.solve2-overview-card{min-height:0}.solve2-overview-card img{width:128px;height:100px}
  .solve2-capability{padding:58px 0 62px}.solve2-capability-detail{grid-template-columns:1fr}.solve2-detail-block{min-height:0;padding:26px}.solve2-capability-intro h2{font-size:3.8rem}.solve2-sketch{width:150px;height:115px}
  .solve2-connected{padding:52px 0 56px}.solve2-connected-flow{align-items:flex-start}.solve2-connected-flow b{display:none}.solve2-connected-flow span{width:100%}
  .solve2-cta{padding:54px 0 60px}
}

/* v0.24 — What we solve: compact editorial layout + dark thinking bridge */
.solve2-hero-grid{grid-template-columns:minmax(0,.8fr) minmax(0,1.2fr);min-height:545px}
.solve2-hero-copy{padding-top:58px;padding-bottom:54px}
.solve2-hero-copy h1{font-size:clamp(4.25rem,5.6vw,6.8rem);max-width:10.5ch;margin-bottom:20px}
.solve2-hero-copy>p{font-size:1.08rem;line-height:1.65;max-width:57ch}
.solve2-hero-links{margin-top:26px;gap:8px 22px}
.solve2-hero-media{min-height:545px}
.solve2-note-one{left:19%;top:19%;max-width:150px}
.solve2-note-two{right:8%;top:42%;max-width:125px}
.solve2-note-three{right:10%;bottom:10%;max-width:220px;transform:rotate(-2deg)}

.solve2-overview{padding:58px 0 64px}
.solve2-overview-heading{grid-template-columns:minmax(0,1.05fr) minmax(260px,.55fr);gap:52px;align-items:end;margin-bottom:28px}
.solve2-overview-heading>.eyebrow{grid-column:1/-1;margin-bottom:-26px}
.solve2-overview-heading h2{font-size:clamp(3.15rem,4.3vw,4.75rem);max-width:16ch}
.solve2-overview-heading>p{font-size:1rem;max-width:37ch;justify-self:end}
.solve2-overview-card{min-height:300px;padding:23px 24px 22px}
.solve2-overview-card img{width:128px;height:92px;margin:10px 0 6px}
.solve2-overview-card h3{font-size:1.9rem;margin-bottom:9px}
.solve2-overview-card p{font-size:.94rem;line-height:1.5}
.solve2-overview-arrow{padding-top:12px}

.solve2-bridge{position:relative;overflow:hidden;background:#171717;color:#fff;border-bottom:1px solid #343230;padding:44px 0 46px}
.solve2-bridge:before{content:'';position:absolute;inset:0;opacity:.14;background:radial-gradient(circle at 15% 25%,transparent 0 8px,rgba(182,96,52,.24) 9px 10px,transparent 11px 32px),linear-gradient(120deg,transparent 45%,rgba(255,255,255,.025) 46%,transparent 47%);background-size:70px 70px,240px 240px;pointer-events:none}
.solve2-bridge-grid{position:relative;display:grid;grid-template-columns:minmax(260px,.62fr) minmax(520px,1.2fr) 150px;gap:44px;align-items:center}
.solve2-bridge-copy .eyebrow{margin-bottom:8px}
.solve2-bridge-copy h2{font-family:var(--display);font-size:clamp(2.75rem,3.7vw,4rem);font-weight:600;line-height:.93;letter-spacing:-.02em;margin:0 0 14px;text-transform:none;max-width:11ch}
.solve2-bridge-copy p{font-size:.98rem;line-height:1.55;color:#d7d0c7;margin:0;max-width:40ch}
.solve2-bridge-flow{display:grid;grid-template-columns:1fr 34px 1fr 34px 1fr 34px 1fr;align-items:center;gap:8px}
.solve2-bridge-step{text-align:center;display:grid;justify-items:center;gap:9px}
.solve2-bridge-step img{width:86px;height:70px;object-fit:contain;filter:brightness(0) invert(1);opacity:.78}
.solve2-bridge-step span{font-size:.9rem;font-weight:600;color:#f4efe7}
.solve2-bridge-flow b{font-size:1.4rem;color:var(--copper);font-weight:400;text-align:center}
.solve2-bridge-ibis{width:145px;height:170px;object-fit:contain;filter:brightness(0) invert(1);opacity:.17;justify-self:end}

.solve2-capability{padding:58px 0 60px}
.solve2-capability-grid{grid-template-columns:minmax(300px,.68fr) minmax(0,1.32fr);gap:clamp(44px,5vw,76px);align-items:center}
.solve2-capability-intro{padding-top:0}
.solve2-num{font-size:1.5rem;margin-bottom:5px}
.solve2-sketch{width:130px;height:88px;margin:0 0 10px}
.solve2-capability-intro h2{font-size:clamp(3.35rem,4.25vw,4.75rem);line-height:.92;margin:7px 0 12px;max-width:9.5ch}
.solve2-capability-intro>p{font-size:1rem;line-height:1.55;max-width:45ch}
.solve2-capability-detail{grid-template-columns:1.08fr .72fr}
.solve2-detail-block{padding:24px 27px 25px;min-height:0}
.solve2-detail-block h3{font-size:.8rem;margin-bottom:14px}
.solve2-detail-block ul{gap:7px}
.solve2-detail-block li{font-size:.92rem;line-height:1.35;padding-left:18px}
.solve2-useful p{font-size:.95rem;line-height:1.5;margin-bottom:17px}
.solve2-tags{gap:6px}
.solve2-tags span{padding:5px 8px;font-size:.67rem}
.solve2-drone-image{aspect-ratio:16/4.45}
.solve2-drone-image span{left:18px;bottom:13px;font-size:.87rem}

.solve2-connected{padding:46px 0 48px}
.solve2-connected-grid{grid-template-columns:.72fr 1.28fr;gap:64px}
.solve2-connected h2{font-size:clamp(3.05rem,4vw,4.5rem);max-width:11ch}
.solve2-connected-grid>div:last-child>p{font-size:1rem;line-height:1.55;margin-bottom:18px}
.solve2-connected-flow{gap:8px 13px}

.solve2-cta{padding:46px 0 50px}
.solve2-cta-grid{grid-template-columns:.62fr 1.38fr;gap:64px}
.solve2-cta h2{font-size:clamp(4.1rem,5.2vw,5.8rem)}
.solve2-cta-grid>div:last-child>p{font-size:1.02rem;line-height:1.55;margin-bottom:18px}

@media(max-width:1200px){
  .solve2-bridge-grid{grid-template-columns:.7fr 1.3fr}.solve2-bridge-ibis{display:none}
  .solve2-bridge-flow{grid-template-columns:repeat(7,auto)}
}
@media(max-width:1050px){
  .solve2-hero-grid{grid-template-columns:1fr}.solve2-hero-media{min-height:400px}.solve2-hero-copy{padding:52px var(--pad)}
  .solve2-overview-heading{grid-template-columns:1fr;gap:18px}.solve2-overview-heading>.eyebrow{grid-column:auto;margin-bottom:0}.solve2-overview-heading>p{justify-self:start}
  .solve2-bridge-grid{grid-template-columns:1fr;gap:30px}.solve2-bridge-copy h2{max-width:14ch}.solve2-bridge-flow{max-width:780px}
  .solve2-capability-grid{grid-template-columns:1fr;gap:30px;align-items:start}.solve2-capability-intro{display:grid;grid-template-columns:auto 140px 1fr;grid-template-areas:'num sketch eyebrow' 'num sketch heading' 'num sketch copy';column-gap:24px;align-items:start}.solve2-num{grid-area:num}.solve2-sketch{grid-area:sketch}.solve2-capability-intro>.eyebrow{grid-area:eyebrow}.solve2-capability-intro h2{grid-area:heading;max-width:14ch}.solve2-capability-intro>p{grid-area:copy;max-width:62ch}
  .solve2-connected-grid,.solve2-cta-grid{grid-template-columns:1fr;gap:26px}
}
@media(max-width:760px){
  .solve2-hero-copy h1{font-size:4.05rem}.solve2-hero-media{min-height:310px}.solve2-note-three{display:none}
  .solve2-overview{padding:45px 0 50px}.solve2-overview-card{min-height:0}
  .solve2-bridge{padding:38px 0}.solve2-bridge-flow{grid-template-columns:1fr 1fr;gap:20px 14px}.solve2-bridge-flow b{display:none}.solve2-bridge-step img{width:76px;height:62px}
  .solve2-capability{padding:46px 0 50px}.solve2-capability-intro{display:block}.solve2-capability-intro h2{font-size:3.55rem;max-width:11ch}.solve2-sketch{width:125px;height:86px}.solve2-capability-detail{grid-template-columns:1fr}.solve2-detail-block{padding:23px}.solve2-drone-image{aspect-ratio:16/7}
  .solve2-connected,.solve2-cta{padding:42px 0 46px}
}


/* v0.25 — What we solve refinement: shorter clean hero, larger bridge visuals, title-aligned detail panels */
.solve2-hero-grid{
  grid-template-columns:minmax(0,.92fr) minmax(0,1.08fr);
  min-height:430px;
}
.solve2-hero-copy{
  padding-top:44px;
  padding-bottom:42px;
}
.solve2-hero-copy h1{
  font-size:clamp(3.9rem,5vw,5.8rem);
  max-width:10.5ch;
  margin-top:8px;
  margin-bottom:16px;
}
.solve2-hero-copy>p{
  font-size:1.04rem;
  line-height:1.58;
  max-width:56ch;
}
.solve2-hero-links{
  margin-top:20px;
}
.solve2-hero-media{
  min-height:430px;
}
.solve2-hero-media img{
  object-position:center 48%;
  filter:saturate(.72) contrast(1.03);
}
.solve2-hero-note{display:none!important}

.solve2-bridge{
  padding:48px 0 50px;
}
.solve2-bridge-grid{
  grid-template-columns:minmax(270px,.58fr) minmax(600px,1.26fr) 145px;
  gap:38px;
}
.solve2-bridge-flow{
  grid-template-columns:1fr 38px 1fr 38px 1fr 38px 1fr;
  gap:8px;
}
.solve2-bridge-step{
  gap:11px;
}
.solve2-bridge-step img{
  width:118px;
  height:92px;
  opacity:.84;
}
.solve2-bridge-step span{
  font-size:.96rem;
}
.solve2-bridge-flow b{
  font-size:1.55rem;
}

.solve2-capability-grid{
  align-items:start;
}
.solve2-capability-detail{
  margin-top:136px;
}
.solve2-drone .solve2-capability-detail{
  margin-top:136px;
}

/* The overlap section was intentionally removed in v0.25. */
.solve2-connected{display:none!important}

@media(max-width:1200px){
  .solve2-bridge-grid{grid-template-columns:.65fr 1.35fr}
  .solve2-bridge-step img{width:108px;height:84px}
}
@media(max-width:1050px){
  .solve2-hero-grid{grid-template-columns:1fr}
  .solve2-hero-copy{padding:44px var(--pad) 38px}
  .solve2-hero-media{min-height:315px}
  .solve2-capability-detail,
  .solve2-drone .solve2-capability-detail{margin-top:0}
  .solve2-bridge-flow{max-width:850px}
  .solve2-bridge-step img{width:112px;height:88px}
}
@media(max-width:760px){
  .solve2-hero-copy h1{font-size:3.7rem}
  .solve2-hero-media{min-height:255px}
  .solve2-bridge-step img{width:96px;height:74px}
}


/* v0.26 — What we solve: calmer editorial capability rows */
.solve3-capability{
  background:var(--paper-2);
  border-bottom:1px solid var(--line);
  padding:34px 0 36px;
}
.solve3-capability-alt{background:#f1eadf}
.solve3-row-grid{
  display:grid;
  grid-template-columns:120px minmax(300px,.95fr) minmax(320px,1.02fr) minmax(270px,.82fr);
  align-items:start;
}
.solve3-mark{
  padding:5px 22px 0 0;
}
.solve3-mark .solve2-num{
  margin:0 0 18px;
  font-size:1.5rem;
}
.solve3-mark img{
  width:98px;
  height:82px;
  object-fit:contain;
  opacity:.82;
}
.solve3-intro,
.solve3-what,
.solve3-best{
  min-height:250px;
  padding:6px 34px 8px;
  border-left:1px solid var(--line);
}
.solve3-intro{
  padding-left:34px;
}
.solve3-intro h2{
  font-family:var(--display);
  font-size:clamp(2.65rem,3.35vw,4.05rem);
  line-height:.93;
  letter-spacing:-.02em;
  font-weight:600;
  text-transform:none;
  margin:9px 0 12px;
  max-width:11.5ch;
}
.solve3-drone .solve3-intro h2{max-width:13ch}
.solve3-intro>p{
  margin:0;
  max-width:43ch;
  color:#45413c;
  font-size:.97rem;
  line-height:1.55;
}
.solve3-what h3,
.solve3-best h3{
  color:var(--copper);
  text-transform:uppercase;
  letter-spacing:.065em;
  font-size:.79rem;
  margin:0 0 15px;
}
.solve3-what ul{
  list-style:none;
  margin:0;
  padding:0;
  display:grid;
  gap:8px;
}
.solve3-what li{
  position:relative;
  padding-left:22px;
  font-size:.96rem;
  line-height:1.35;
}
.solve3-what li:before{
  content:'→';
  position:absolute;
  left:0;
  top:-1px;
  color:var(--copper);
}
.solve3-best p{
  margin:0;
  max-width:36ch;
  color:#45413c;
  font-size:.98rem;
  line-height:1.55;
}
.solve3-drone-image{
  position:relative;
  margin-top:22px;
  width:100%;
  aspect-ratio:16/8.2;
  overflow:hidden;
  background:#d9d0c4;
}
.solve3-drone-image img{
  width:100%;
  height:100%;
  object-fit:cover;
  filter:saturate(.75) contrast(1.03);
}
.solve3-drone-image:after{
  content:'';
  position:absolute;
  inset:0;
  background:linear-gradient(180deg,transparent 55%,rgba(0,0,0,.18));
  pointer-events:none;
}
.solve3-play{
  position:absolute;
  z-index:2;
  left:50%;
  top:50%;
  transform:translate(-50%,-50%);
  width:54px;
  height:54px;
  border:1px solid rgba(255,255,255,.9);
  border-radius:50%;
  display:grid;
  place-items:center;
  color:#fff;
  font-size:1.05rem;
  padding-left:3px;
  background:rgba(0,0,0,.08);
}
/* Disable the older boxed capability treatment on the revised markup. */
.solve3-capability .solve2-capability-detail,
.solve3-capability .solve2-tags{display:none!important}

@media(max-width:1180px){
  .solve3-row-grid{grid-template-columns:90px minmax(270px,.9fr) minmax(300px,1fr) minmax(240px,.82fr)}
  .solve3-mark img{width:80px;height:70px}
  .solve3-intro,.solve3-what,.solve3-best{padding-left:26px;padding-right:26px}
}
@media(max-width:980px){
  .solve3-row-grid{
    grid-template-columns:100px 1fr 1fr;
    grid-template-areas:
      'mark intro intro'
      '. what best';
    row-gap:22px;
  }
  .solve3-mark{grid-area:mark}
  .solve3-intro{grid-area:intro;border-left:0;min-height:0;padding-top:0}
  .solve3-what{grid-area:what;margin-left:0}
  .solve3-best{grid-area:best}
  .solve3-what,.solve3-best{min-height:0}
}
@media(max-width:700px){
  .solve3-capability{padding:38px 0 42px}
  .solve3-row-grid{display:block}
  .solve3-mark{display:flex;align-items:center;gap:18px;padding:0;margin-bottom:18px}
  .solve3-mark .solve2-num{margin:0}
  .solve3-mark img{width:94px;height:70px}
  .solve3-intro,.solve3-what,.solve3-best{border-left:0;border-top:1px solid var(--line);min-height:0;padding:22px 0 0;margin-top:22px}
  .solve3-intro{border-top:0;padding-top:0;margin-top:0}
  .solve3-intro h2{font-size:3.35rem;max-width:10ch}
  .solve3-drone .solve3-intro h2{max-width:11ch}
  .solve3-best p{max-width:50ch}
  .solve3-drone-image{aspect-ratio:16/9}
}

/* v0.27 — What we solve closing CTA: compact editorial banner */
.solve4-cta-banner{
  position:relative;
  overflow:hidden;
  background:#f4ede2;
  border-top:1px solid var(--line);
  border-bottom:1px solid var(--line);
  padding:26px 0;
}
.solve4-cta-banner:before{
  content:'';
  position:absolute;
  left:0;
  top:0;
  bottom:0;
  width:6px;
  background:var(--copper);
}
.solve4-cta-banner-grid{
  display:grid;
  grid-template-columns:minmax(260px,.82fr) minmax(420px,1.35fr) auto;
  gap:clamp(34px,4.5vw,78px);
  align-items:center;
}
.solve4-cta-title{
  display:flex;
  align-items:flex-end;
  gap:18px;
  min-width:0;
}
.solve4-cta-title .eyebrow{
  max-width:210px;
  margin:0 0 5px;
}
.solve4-cta-title h2{
  font-family:var(--display);
  font-size:clamp(3.3rem,4.1vw,4.65rem);
  line-height:.88;
  letter-spacing:-.02em;
  font-weight:600;
  margin:0;
  text-transform:none;
  white-space:nowrap;
}
.solve4-cta-copy{
  margin:0;
  max-width:62ch;
  font-size:1.02rem;
  line-height:1.55;
  color:#403d39;
}
.solve4-cta-button{
  min-width:210px;
  min-height:58px;
  padding:0 24px;
  display:inline-flex;
  align-items:center;
  justify-content:space-between;
  gap:24px;
  background:var(--ink);
  color:#fff;
  border:1px solid var(--ink);
  font-weight:600;
  font-size:.98rem;
  white-space:nowrap;
  transition:background .2s ease,color .2s ease,border-color .2s ease;
}
.solve4-cta-button span{
  color:var(--copper);
  font-size:1.2rem;
}
.solve4-cta-button:hover,
.solve4-cta-button:focus-visible{
  background:transparent;
  color:var(--ink);
  border-color:var(--copper);
}

@media(max-width:1050px){
  .solve4-cta-banner-grid{
    grid-template-columns:1fr auto;
    grid-template-areas:'title button' 'copy button';
    gap:10px 36px;
  }
  .solve4-cta-title{grid-area:title}
  .solve4-cta-copy{grid-area:copy}
  .solve4-cta-button{grid-area:button}
}
@media(max-width:720px){
  .solve4-cta-banner{padding:28px 0 30px}
  .solve4-cta-banner-grid{display:block}
  .solve4-cta-title{display:block}
  .solve4-cta-title .eyebrow{max-width:none;margin-bottom:7px}
  .solve4-cta-title h2{font-size:3.6rem;white-space:normal;margin-bottom:13px}
  .solve4-cta-copy{font-size:1rem;margin-bottom:20px}
  .solve4-cta-button{width:100%;min-width:0}
}

/* v0.28 — What we solve closing banner refinement */
.solve4-cta-banner{
  padding:28px 0;
}
.solve4-cta-banner:before{display:none}
.solve4-cta-banner-grid{
  grid-template-columns:minmax(320px,.95fr) minmax(430px,1.2fr) minmax(210px,.55fr);
  gap:clamp(34px,4vw,70px);
}
.solve4-cta-title{
  display:block;
  position:relative;
  padding-top:14px;
}
.solve4-cta-title:before{
  content:'';
  position:absolute;
  left:0;
  top:0;
  width:78px;
  height:2px;
  background:var(--copper);
}
.solve4-cta-title .eyebrow{
  max-width:none;
  margin:0 0 6px;
  white-space:nowrap;
}
.solve4-cta-title h2{
  font-size:clamp(3.45rem,4.15vw,4.8rem);
  margin:0;
}
.solve4-cta-copy{
  max-width:58ch;
}
.solve4-cta-button{
  justify-self:end;
  width:100%;
  max-width:235px;
}
@media(max-width:1050px){
  .solve4-cta-banner-grid{
    grid-template-columns:1fr auto;
    grid-template-areas:'title button' 'copy button';
  }
  .solve4-cta-title .eyebrow{white-space:normal}
}
@media(max-width:720px){
  .solve4-cta-title:before{width:58px}
  .solve4-cta-button{max-width:none}
}

/* v0.28 — About page */
.about2-hero{
  border-bottom:1px solid var(--line);
  overflow:hidden;
}
.about2-hero-grid{
  display:grid;
  grid-template-columns:minmax(0,.88fr) minmax(0,1.12fr);
  min-height:500px;
}
.about2-hero-copy{
  padding:58px var(--pad) 52px max(var(--pad),calc((100vw - var(--max))/2 + var(--pad)));
  display:flex;
  flex-direction:column;
  justify-content:center;
  background:linear-gradient(90deg,var(--paper) 88%,rgba(246,242,233,0));
  position:relative;
  z-index:2;
}
.about2-hero-copy h1{
  font-family:var(--display);
  font-size:clamp(4.5rem,5.7vw,6.65rem);
  line-height:.91;
  letter-spacing:-.025em;
  font-weight:600;
  margin:10px 0 20px;
  max-width:9.5ch;
}
.about2-hero-copy p{
  margin:0 0 26px;
  font-size:1.12rem;
  line-height:1.65;
  max-width:52ch;
  color:#3d3935;
}
.about2-hero-media{
  margin-left:-60px;
  position:relative;
  min-height:500px;
  overflow:hidden;
  background:#2a2927;
}
.about2-hero-media img{
  width:100%;
  height:100%;
  object-fit:cover;
  filter:grayscale(1) sepia(.08) contrast(1.02);
}
.about2-hero-media:after{
  content:'';
  position:absolute;
  inset:0;
  background:linear-gradient(90deg,var(--paper) 0%,rgba(246,242,233,.12) 28%,rgba(0,0,0,.08) 100%);
}
.about2-hero-note{
  position:absolute;
  z-index:2;
  right:7%;
  bottom:10%;
  color:#fff;
  font-size:1rem;
  font-style:italic;
  transform:rotate(-2deg);
  opacity:.88;
}
.about2-belief{
  background:var(--ink);
  color:#fff;
  padding:68px 0 72px;
}
.about2-belief-grid{
  display:grid;
  grid-template-columns:minmax(0,.9fr) minmax(0,1.1fr);
  gap:clamp(60px,7vw,120px);
  align-items:start;
}
.about2-belief .eyebrow{color:#d58155}
.about2-belief h2{
  font-family:var(--display);
  font-size:clamp(3.7rem,4.9vw,5.85rem);
  line-height:.94;
  letter-spacing:-.02em;
  font-weight:600;
  margin:12px 0 0;
  max-width:13ch;
}
.about2-belief-copy{
  max-width:720px;
  padding-top:30px;
}
.about2-belief-copy p{
  margin:0 0 22px;
  color:#cfc8bf;
  font-size:1.06rem;
  line-height:1.7;
}
.about2-belief-copy .about2-belief-lede{
  color:#fff;
  font-size:1.5rem;
  line-height:1.48;
  max-width:31ch;
}
.about2-ibis{
  padding:74px 0 78px;
  border-bottom:1px solid var(--line);
  background:var(--paper-2);
}
.about2-ibis-grid{
  display:grid;
  grid-template-columns:minmax(340px,.82fr) minmax(0,1.18fr);
  gap:clamp(55px,7vw,120px);
  align-items:center;
}
.about2-ibis-art{
  min-height:440px;
  border:1px solid var(--line);
  background:#f1e9dc;
  display:flex;
  flex-direction:column;
  justify-content:center;
  align-items:center;
  padding:48px;
  position:relative;
}
.about2-ibis-art img{
  width:min(86%,430px);
  max-height:260px;
  object-fit:contain;
  opacity:.78;
}
.about2-ibis-art span{
  margin-top:26px;
  font-size:.95rem;
  font-style:italic;
  color:#655d54;
  transform:rotate(-1.2deg);
}
.about2-ibis-copy h2{
  font-family:var(--display);
  font-size:clamp(4rem,5.25vw,6.1rem);
  line-height:.91;
  font-weight:600;
  letter-spacing:-.02em;
  margin:12px 0 24px;
}
.about2-ibis-copy p{
  max-width:62ch;
  font-size:1.07rem;
  line-height:1.68;
  color:#45403b;
  margin:0 0 17px;
}
.about2-quote{
  padding:48px 0 50px;
  border-bottom:1px solid var(--line);
  background:#efe7da;
}
.about2-quote-grid{
  display:grid;
  grid-template-columns:160px minmax(360px,1.15fr) minmax(300px,.85fr);
  gap:clamp(38px,5vw,84px);
  align-items:center;
}
.about2-quote blockquote{
  font-family:var(--display);
  font-size:clamp(3rem,3.8vw,4.5rem);
  line-height:.95;
  letter-spacing:-.02em;
  font-weight:600;
  margin:0;
  max-width:12ch;
}
.about2-quote p{
  margin:0;
  font-size:1.04rem;
  line-height:1.66;
  max-width:48ch;
  color:#47423d;
}
.about2-method{
  padding:74px 0 80px;
  background:var(--paper);
  border-bottom:1px solid var(--line);
}
.about2-method-head{
  display:grid;
  grid-template-columns:minmax(0,.95fr) minmax(320px,.65fr);
  gap:70px;
  align-items:end;
  margin-bottom:42px;
}
.about2-method-head h2{
  font-family:var(--display);
  font-size:clamp(3.8rem,5vw,5.8rem);
  line-height:.93;
  font-weight:600;
  letter-spacing:-.02em;
  margin:10px 0 0;
}
.about2-method-head>p{
  max-width:49ch;
  margin:0;
  font-size:1.05rem;
  line-height:1.65;
  color:#49443f;
}
.about2-method-grid{
  display:grid;
  grid-template-columns:repeat(5,1fr);
  border-top:1px solid var(--line);
  border-left:1px solid var(--line);
}
.about2-method-card{
  min-height:335px;
  padding:26px 25px 30px;
  border-right:1px solid var(--line);
  border-bottom:1px solid var(--line);
  position:relative;
}
.about2-method-num{
  font-family:var(--display);
  color:var(--copper);
  font-size:1.55rem;
  line-height:1;
}
.about2-method-card img{
  width:100px;
  height:78px;
  object-fit:contain;
  opacity:.75;
  margin:24px 0 20px;
}
.about2-method-card h3{
  font-family:var(--display);
  font-size:2.05rem;
  line-height:1.02;
  font-weight:600;
  margin:0 0 13px;
}
.about2-method-card p{
  margin:0;
  color:#4a4540;
  font-size:.95rem;
  line-height:1.55;
}
.about2-cta{
  background:#f1e8db;
  border-bottom:1px solid var(--line);
  padding:30px 0;
}
.about2-cta-grid{
  display:grid;
  grid-template-columns:minmax(310px,.85fr) minmax(420px,1.2fr) minmax(210px,.55fr);
  gap:clamp(34px,4vw,70px);
  align-items:center;
}
.about2-cta h2{
  font-family:var(--display);
  font-size:clamp(3rem,3.8vw,4.35rem);
  line-height:.94;
  font-weight:600;
  margin:7px 0 0;
}
.about2-cta p{
  margin:0;
  max-width:58ch;
  font-size:1.03rem;
  line-height:1.6;
  color:#413c37;
}
.about2-cta-button{
  justify-self:end;
  width:100%;
  max-width:235px;
  min-height:58px;
  padding:0 24px;
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:20px;
  background:var(--ink);
  color:#fff;
  border:1px solid var(--ink);
  font-weight:600;
  white-space:nowrap;
}
.about2-cta-button span{color:var(--copper);font-size:1.15rem}
.about2-cta-button:hover,.about2-cta-button:focus-visible{background:transparent;color:var(--ink);border-color:var(--copper)}

@media(max-width:1100px){
  .about2-hero-grid{grid-template-columns:1fr}
  .about2-hero-copy{padding:50px var(--pad) 46px}
  .about2-hero-media{margin-left:0;min-height:380px}
  .about2-belief-grid,.about2-ibis-grid,.about2-method-head{grid-template-columns:1fr;gap:34px}
  .about2-belief-copy{padding-top:0}
  .about2-ibis-art{min-height:330px}
  .about2-quote-grid{grid-template-columns:1fr 1.4fr;gap:32px}
  .about2-quote-grid>.eyebrow{grid-column:1/-1}
  .about2-method-grid{grid-template-columns:repeat(3,1fr)}
  .about2-cta-grid{grid-template-columns:1fr auto;grid-template-areas:'head button' 'copy button'}
  .about2-cta-grid>div{grid-area:head}.about2-cta-grid>p{grid-area:copy}.about2-cta-button{grid-area:button}
}
@media(max-width:720px){
  .about2-hero-copy h1{font-size:4rem}
  .about2-hero-media{min-height:300px}
  .about2-belief{padding:52px 0 56px}
  .about2-belief h2{font-size:3.75rem}
  .about2-belief-copy .about2-belief-lede{font-size:1.28rem}
  .about2-ibis{padding:52px 0 58px}
  .about2-ibis-art{min-height:280px;padding:32px}
  .about2-ibis-copy h2{font-size:3.75rem}
  .about2-quote{padding:40px 0 44px}
  .about2-quote-grid{display:block}
  .about2-quote blockquote{font-size:3.35rem;margin:12px 0 20px}
  .about2-method{padding:52px 0 58px}
  .about2-method-head{margin-bottom:28px}
  .about2-method-head h2{font-size:3.7rem}
  .about2-method-grid{grid-template-columns:1fr}
  .about2-method-card{min-height:0}
  .about2-cta{padding:30px 0 34px}
  .about2-cta-grid{display:block}
  .about2-cta h2{font-size:3.45rem;margin-bottom:14px}
  .about2-cta p{margin-bottom:20px}
  .about2-cta-button{max-width:none}
}

/* v0.29 — About: senior specialist experience */
.about3-hero{border-bottom:1px solid var(--line);overflow:hidden}
.about3-hero-grid{display:grid;grid-template-columns:minmax(0,.95fr) minmax(0,1.05fr);min-height:520px}
.about3-hero-copy{padding:62px var(--pad) 56px max(var(--pad),calc((100vw - var(--max))/2 + var(--pad)));display:flex;flex-direction:column;justify-content:center;background:linear-gradient(90deg,var(--paper) 90%,rgba(246,242,233,0));position:relative;z-index:2}
.about3-hero-copy h1{font-family:var(--display);font-size:clamp(4.2rem,5.5vw,6.5rem);line-height:.92;letter-spacing:-.025em;font-weight:600;margin:12px 0 22px;max-width:11ch}
.about3-hero-copy p{font-size:1.12rem;line-height:1.66;max-width:58ch;margin:0;color:#403b36}
.about3-hero-actions{display:flex;gap:24px;align-items:center;margin-top:30px;flex-wrap:wrap}
.about3-primary-button{min-height:56px;padding:0 22px;background:var(--copper);color:#fff;border:1px solid var(--copper);display:inline-flex;align-items:center;justify-content:space-between;gap:24px;font-weight:600;white-space:nowrap}
.about3-primary-button:hover,.about3-primary-button:focus-visible{background:var(--ink);border-color:var(--ink)}
.about3-secondary-link{font-weight:600;border-bottom:1px solid rgba(182,96,52,.45);padding-bottom:3px}
.about3-secondary-link span{color:var(--copper);margin-left:8px}
.about3-hero-media{position:relative;overflow:hidden;min-height:520px;margin-left:-40px;background:#2b2926}
.about3-hero-media img{width:100%;height:100%;object-fit:cover;filter:sepia(.12) contrast(1.03);display:block}
.about3-hero-media:before{content:'';position:absolute;z-index:1;inset:0;background:linear-gradient(90deg,var(--paper) 0%,rgba(246,242,233,.12) 24%,rgba(0,0,0,.04) 100%);pointer-events:none}
.about3-hero-note{position:absolute;z-index:2;right:7%;bottom:9%;color:#f6f2e9;font-size:.98rem;font-style:italic;line-height:1.45;transform:rotate(-2deg);opacity:.88}

.about3-proof{background:#171717;color:#fff;padding:34px 0 38px;position:relative;overflow:hidden}
.about3-proof:after{content:'';position:absolute;inset:0;background:radial-gradient(circle at 85% 40%,rgba(182,96,52,.09),transparent 28%);pointer-events:none}
.about3-proof-grid{display:grid;grid-template-columns:repeat(5,1fr);position:relative;z-index:1}
.about3-proof-stat{padding:8px 30px 10px;border-right:1px solid rgba(255,255,255,.18);min-height:142px}
.about3-proof-stat:first-child{padding-left:0}.about3-proof-stat:last-child{border-right:0;padding-right:0}
.about3-proof-stat strong{font-family:var(--display);display:block;font-size:clamp(3.15rem,4vw,4.65rem);line-height:.9;color:#d27243;font-weight:600}
.about3-proof-stat span{display:block;font-family:var(--display);font-size:1.65rem;line-height:1.05;font-weight:600;margin-top:12px}
.about3-proof-stat p{color:#bbb4ab;margin:9px 0 0;font-size:.94rem;line-height:1.45;max-width:20ch}

.about3-industries{padding:72px 0 76px;background:var(--paper-2);border-bottom:1px solid var(--line)}
.about3-section-intro{display:grid;grid-template-columns:minmax(330px,.9fr) minmax(320px,.55fr);justify-content:space-between;gap:80px;align-items:end;margin-bottom:36px}
.about3-section-intro h2{font-family:var(--display);font-size:clamp(3.25rem,4.25vw,5rem);line-height:.94;font-weight:600;letter-spacing:-.02em;margin:10px 0 0;max-width:14ch}
.about3-section-intro>p{font-size:1.02rem;line-height:1.65;color:#4c4640;margin:0;max-width:52ch;justify-self:end}
.about3-industry-grid{display:grid;grid-template-columns:repeat(5,1fr);border-top:1px solid var(--line);border-left:1px solid var(--line)}
.about3-industry-card{padding:26px 24px 28px;border-right:1px solid var(--line);border-bottom:1px solid var(--line);min-height:285px}
.about3-industry-card img{width:54px;height:50px;object-fit:contain;opacity:.72;margin-bottom:18px}
.about3-industry-card h3{font-family:var(--display);font-size:1.9rem;line-height:1;margin:0 0 8px;font-weight:600}
.about3-industry-years{color:var(--copper);font-family:var(--display);font-size:1.45rem;line-height:1;font-weight:600;margin-bottom:15px}
.about3-industry-card ul{list-style:none;padding:0;margin:0}.about3-industry-card li{font-size:.91rem;line-height:1.52;color:#4e4943;margin:2px 0}

.about3-depth{padding:72px 0;background:var(--paper);border-bottom:1px solid var(--line)}
.about3-depth-grid{display:grid;grid-template-columns:minmax(280px,.78fr) minmax(420px,1.25fr) minmax(300px,.75fr);gap:clamp(42px,5vw,78px);align-items:stretch}
.about3-depth-heading h2{font-family:var(--display);font-size:clamp(3.2rem,4vw,4.7rem);line-height:.95;font-weight:600;margin:10px 0 18px;letter-spacing:-.02em}
.about3-depth-heading p{font-size:1rem;line-height:1.65;color:#4b4641;max-width:42ch;margin:0}
.about3-expertise-list{display:grid;grid-template-columns:1fr 1fr;column-gap:34px;align-content:start;padding-top:8px}
.about3-expertise-item{display:flex;gap:11px;align-items:flex-start;padding:10px 0;border-bottom:1px solid rgba(216,209,198,.72);font-size:1rem;line-height:1.45}
.about3-expertise-item span{color:var(--copper);font-weight:700;margin-top:1px}
.about3-conversation-card{background:#eee4d5;border-left:2px solid var(--copper);padding:34px 30px;display:flex;flex-direction:column;justify-content:center}
.about3-conversation-card h3{font-family:var(--display);font-size:2.5rem;line-height:1;letter-spacing:-.01em;margin:10px 0 15px;font-weight:600}
.about3-conversation-card p{font-size:1rem;line-height:1.62;color:#46413c;margin:0 0 24px}
.about3-conversation-card .about3-primary-button{align-self:flex-start}

.about3-work{padding:70px 0 74px;background:#f0e7da;border-bottom:1px solid var(--line)}
.about3-work-grid{display:grid;grid-template-columns:minmax(300px,.92fr) repeat(3,minmax(0,1fr));border-top:1px solid var(--line);border-left:1px solid var(--line)}
.about3-work-intro,.about3-work-card{padding:34px 30px 36px;border-right:1px solid var(--line);border-bottom:1px solid var(--line);min-height:300px}
.about3-work-intro h2{font-family:var(--display);font-size:clamp(3rem,3.7vw,4.35rem);line-height:.94;font-weight:600;margin:10px 0 20px;letter-spacing:-.02em}
.about3-work-intro p,.about3-work-card p{font-size:.98rem;line-height:1.6;color:#47423d;margin:0}
.about3-work-num{font-family:var(--display);font-size:1.7rem;line-height:1;color:var(--copper);margin-bottom:36px}
.about3-work-card h3{font-family:var(--display);font-size:2.25rem;line-height:1.02;font-weight:600;margin:0 0 18px}

.about3-quote{padding:44px 0 46px;background:var(--paper-2);border-bottom:1px solid var(--line)}
.about3-quote-grid{display:grid;grid-template-columns:80px minmax(320px,.9fr) minmax(320px,.85fr) minmax(170px,.45fr);gap:38px;align-items:center}
.about3-quote-mark{font-family:Georgia,serif;font-size:6rem;line-height:.7;color:var(--copper)}
.about3-quote blockquote{font-family:Georgia,serif;font-size:2.05rem;line-height:1.25;font-style:italic;margin:10px 0 0;color:#302d29}
.about3-quote p{font-size:1rem;line-height:1.62;color:#47423d;margin:0}
.about3-quote img{width:170px;height:135px;object-fit:contain;opacity:.72;justify-self:end}

.about3-final-cta{background:#171717;color:#fff;padding:34px 0 38px}
.about3-final-cta .eyebrow{color:#d58155}
.about3-final-cta-grid{display:grid;grid-template-columns:minmax(230px,.7fr) minmax(360px,1.05fr) auto;gap:50px;align-items:center}
.about3-final-cta h2{font-family:var(--display);font-size:clamp(4.2rem,5vw,5.9rem);line-height:.85;margin:6px 0 0;font-weight:600}
.about3-final-cta p{font-size:1.12rem;line-height:1.55;color:#d0c8bf;margin:0;max-width:54ch}
.about3-final-actions{display:flex;gap:14px;align-items:center;justify-self:end}
.about3-dark-outline{min-height:56px;padding:0 21px;border:1px solid #827b72;display:inline-flex;align-items:center;gap:24px;color:#fff;font-weight:600;white-space:nowrap}
.about3-dark-outline span{color:var(--copper)}.about3-dark-outline:hover,.about3-dark-outline:focus-visible{border-color:var(--copper)}

@media(max-width:1180px){
  .about3-proof-grid{grid-template-columns:repeat(3,1fr);row-gap:22px}.about3-proof-stat:nth-child(3){border-right:0}.about3-proof-stat:nth-child(n+4){border-top:1px solid rgba(255,255,255,.18);padding-top:24px}
  .about3-industry-grid{grid-template-columns:repeat(3,1fr)}
  .about3-depth-grid{grid-template-columns:1fr 1.3fr}.about3-conversation-card{grid-column:1/-1;display:grid;grid-template-columns:.7fr 1fr auto;gap:28px;align-items:center}.about3-conversation-card h3{margin:0}.about3-conversation-card p{margin:0}
  .about3-work-grid{grid-template-columns:1fr 1fr}.about3-quote-grid{grid-template-columns:60px 1fr 1fr}.about3-quote img{display:none}
}
@media(max-width:860px){
  .about3-hero-grid{grid-template-columns:1fr}.about3-hero-copy{padding:50px var(--pad) 44px}.about3-hero-media{margin-left:0;min-height:360px}
  .about3-section-intro{grid-template-columns:1fr;gap:18px}.about3-section-intro>p{justify-self:start}
  .about3-industry-grid{grid-template-columns:1fr 1fr}
  .about3-depth-grid{grid-template-columns:1fr}.about3-conversation-card{grid-column:auto;display:block}.about3-conversation-card h3{margin:10px 0 15px}.about3-conversation-card p{margin-bottom:24px}
  .about3-final-cta-grid{grid-template-columns:1fr auto}.about3-final-cta-grid>p{grid-column:1/-1;grid-row:2}.about3-final-actions{grid-column:2;grid-row:1/3}
}
@media(max-width:640px){
  .about3-hero-copy h1{font-size:3.85rem}.about3-hero-media{min-height:300px}.about3-hero-actions{align-items:stretch;flex-direction:column}.about3-primary-button{width:100%}
  .about3-proof{padding:26px 0}.about3-proof-grid{grid-template-columns:1fr 1fr}.about3-proof-stat{min-height:125px;padding:15px 18px!important;border-top:1px solid rgba(255,255,255,.18);border-right:1px solid rgba(255,255,255,.18)!important}.about3-proof-stat:nth-child(even){border-right:0!important}.about3-proof-stat:first-child,.about3-proof-stat:nth-child(2){border-top:0}.about3-proof-stat:last-child{grid-column:1/-1;border-right:0!important}
  .about3-industries,.about3-depth,.about3-work{padding:52px 0}.about3-industry-grid{grid-template-columns:1fr}.about3-industry-card{min-height:0}
  .about3-expertise-list{grid-template-columns:1fr}
  .about3-work-grid{grid-template-columns:1fr}.about3-work-intro,.about3-work-card{min-height:0}.about3-work-num{margin-bottom:20px}
  .about3-quote-grid{grid-template-columns:50px 1fr}.about3-quote-grid>p{grid-column:2}.about3-quote blockquote{font-size:1.75rem}
  .about3-final-cta-grid{display:block}.about3-final-cta p{margin:18px 0 22px}.about3-final-actions{display:grid;grid-template-columns:1fr}.about3-dark-outline{justify-content:space-between}
}

/* v0.30 — About refinement: tighter hero, expanded experience, cleaner work model */
.about3-hero{min-height:0}
.about3-hero-grid{grid-template-columns:minmax(420px,.94fr) minmax(560px,1.06fr);align-items:stretch}
.about3-hero-copy{padding:clamp(44px,4.5vw,72px) clamp(40px,5vw,84px);display:flex;flex-direction:column;justify-content:center}
.about3-hero-copy h1{font-size:clamp(3.9rem,4.8vw,5.65rem);line-height:.94;max-width:13.5ch;margin:10px 0 18px}
.about3-hero-copy p{font-size:1.08rem;line-height:1.62;max-width:60ch}
.about3-hero-actions{margin-top:24px}
.about3-hero-media{min-height:440px;margin-left:-24px}
.about3-hero-note{right:6%;bottom:7%;font-size:.92rem}

.about3-industry-grid{grid-template-columns:repeat(6,1fr)}
.about3-industry-card{min-height:270px;padding:24px 20px 26px}
.about3-industry-card h3{font-size:1.62rem}
.about3-industry-years{font-size:1.28rem}
.about3-industry-card li{font-size:.86rem;line-height:1.48}

.about4-work{background:#171717;color:#fff;padding:62px 0 66px;border-bottom:1px solid #2f2d2a;position:relative;overflow:hidden}
.about4-work:after{content:'';position:absolute;right:-4%;bottom:-38%;width:390px;height:390px;border:1px solid rgba(182,96,52,.12);border-radius:50%;opacity:.45}
.about4-work .eyebrow{color:#d58155}
.about4-work-shell{position:relative;z-index:1}
.about4-work-lead{display:grid;grid-template-columns:minmax(300px,.72fr) minmax(420px,1.28fr);gap:70px;align-items:end;padding-bottom:30px;border-bottom:1px solid rgba(255,255,255,.16)}
.about4-work-lead h2{font-family:var(--display);font-size:clamp(3.5rem,4.4vw,5.2rem);line-height:.92;letter-spacing:-.02em;font-weight:600;margin:10px 0 0}
.about4-work-lead p{font-size:1.08rem;line-height:1.62;color:#cfc7be;margin:0;max-width:58ch;justify-self:end}
.about4-work-flow{display:grid;grid-template-columns:1fr auto 1fr auto 1fr;gap:28px;align-items:stretch;padding:34px 0 28px}
.about4-work-step{padding:8px 4px 4px;min-width:0}
.about4-step-top{display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid rgba(255,255,255,.15);padding-bottom:16px;margin-bottom:20px}
.about4-step-num{font-family:var(--display);font-size:2rem;color:#d58155;line-height:1}
.about4-step-icon{font-size:2rem;color:#ddd4c9;line-height:1}
.about4-work-step h3{font-family:var(--display);font-size:2.2rem;line-height:1.03;font-weight:600;margin:0 0 14px;max-width:15ch}
.about4-work-step p{color:#c8c0b7;font-size:.98rem;line-height:1.6;margin:0;max-width:38ch}
.about4-work-arrow{align-self:center;color:#d58155;font-size:1.7rem;margin-top:14px}
.about4-work-cta{display:flex;justify-content:space-between;gap:32px;align-items:center;padding-top:24px;border-top:1px solid rgba(255,255,255,.16)}
.about4-work-cta p{margin:0;font-size:1.08rem;color:#d5cdc4}
.about4-work-cta .about3-primary-button{min-width:210px}

@media(max-width:1180px){
  .about3-industry-grid{grid-template-columns:repeat(3,1fr)}
  .about4-work-lead{grid-template-columns:1fr;gap:16px}.about4-work-lead p{justify-self:start}
  .about4-work-flow{grid-template-columns:1fr 1fr 1fr;gap:32px}.about4-work-arrow{display:none}
}
@media(max-width:900px){
  .about3-hero-grid{grid-template-columns:1fr}.about3-hero-media{margin-left:0;min-height:340px}
  .about3-industry-grid{grid-template-columns:1fr 1fr}
  .about4-work-flow{grid-template-columns:1fr}.about4-work-step{padding:18px 0;border-bottom:1px solid rgba(255,255,255,.14)}
  .about4-work-step:last-of-type{border-bottom:0}.about4-work-step h3{max-width:none}
}
@media(max-width:620px){
  .about3-hero-copy{padding:38px var(--pad) 34px}.about3-hero-copy h1{font-size:3.55rem;max-width:12ch}
  .about3-hero-media{min-height:280px}
  .about3-industry-grid{grid-template-columns:1fr}
  .about4-work{padding:48px 0}.about4-work-cta{align-items:stretch;flex-direction:column}.about4-work-cta .about3-primary-button{width:100%}
}


/* v0.31 — About polish: compact industry intro + aligned work model */
.about3-industries{padding:58px 0 64px}
.about3-section-intro{grid-template-columns:minmax(480px,1.05fr) minmax(320px,.62fr);gap:46px;align-items:end;margin-bottom:28px}
.about3-section-intro h2{font-size:clamp(2.9rem,3.55vw,4.2rem);line-height:.96;max-width:18ch;margin-top:7px}
.about3-section-intro>p{max-width:48ch;font-size:.98rem;line-height:1.58}
.about3-industry-grid{grid-template-columns:repeat(6,minmax(0,1fr))}
.about3-industry-card{min-height:248px;padding:22px 18px 23px}
.about3-industry-card img{width:50px;height:46px;margin-bottom:14px}
.about3-industry-card h3{font-size:1.53rem}
.about3-industry-years{font-size:1.2rem;margin-bottom:12px}
.about3-industry-card li{font-size:.84rem;line-height:1.42}

.about4-work{padding:0;background:#171717;color:#fff;border-bottom:1px solid #302e2b}
.about5-work-grid{display:grid;grid-template-columns:minmax(300px,.72fr) minmax(0,2.28fr);padding-top:58px;padding-bottom:58px;gap:0}
.about5-work-intro{padding-right:clamp(34px,4vw,66px);border-right:1px solid rgba(255,255,255,.15);display:flex;flex-direction:column;justify-content:center;align-items:flex-start}
.about5-work-intro .eyebrow{color:#d58155}
.about5-work-intro h2{font-family:var(--display);font-size:clamp(3.2rem,3.9vw,4.7rem);line-height:.93;letter-spacing:-.02em;font-weight:600;margin:9px 0 18px}
.about5-work-intro p{font-size:1rem;line-height:1.6;color:#cfc7be;margin:0;max-width:38ch}
.about5-work-link{margin-top:24px;display:inline-flex;align-items:center;gap:18px;color:#fff;border-bottom:1px solid rgba(213,129,85,.6);padding-bottom:5px;font-weight:600;white-space:nowrap}
.about5-work-link span{color:#d58155}
.about5-work-steps{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));align-items:stretch}
.about5-work-step{padding:6px clamp(24px,3vw,48px) 4px;border-right:1px solid rgba(255,255,255,.15);display:flex;flex-direction:column;min-width:0}
.about5-work-step:last-child{border-right:0}
.about5-step-number{font-family:var(--display);font-size:1.75rem;line-height:1;color:#d58155;margin-bottom:28px}
.about5-work-step h3{font-family:var(--display);font-size:clamp(2rem,2.35vw,2.65rem);line-height:1.02;font-weight:600;margin:0 0 18px;color:#fff}
.about5-work-step p{font-size:.96rem;line-height:1.58;color:#c8c0b7;margin:0;max-width:34ch}

@media(max-width:1180px){
 .about3-section-intro{grid-template-columns:1fr .75fr;gap:30px}.about3-industry-grid{grid-template-columns:repeat(3,1fr)}
 .about5-work-grid{grid-template-columns:1fr;padding-top:50px;padding-bottom:50px}.about5-work-intro{padding:0 0 30px;border-right:0;border-bottom:1px solid rgba(255,255,255,.15)}
 .about5-work-steps{padding-top:30px}
}
@media(max-width:820px){
 .about3-section-intro{grid-template-columns:1fr;gap:14px}.about3-section-intro>p{justify-self:start}.about3-industry-grid{grid-template-columns:1fr 1fr}
 .about5-work-steps{grid-template-columns:1fr}.about5-work-step{border-right:0;border-bottom:1px solid rgba(255,255,255,.15);padding:24px 0}.about5-work-step:last-child{border-bottom:0}
 .about5-step-number{margin-bottom:14px}.about5-work-step h3 br{display:none}
}
@media(max-width:560px){.about3-industry-grid{grid-template-columns:1fr}.about3-industry-card{min-height:0}}


/* v0.32 — Align About hero copy with the shared site grid */
@media (min-width:861px){
  .about3-hero-copy{
    padding-top:clamp(44px,4.5vw,72px);
    padding-right:clamp(40px,5vw,84px);
    padding-bottom:clamp(44px,4.5vw,72px);
    padding-left:max(var(--pad),calc((100vw - var(--max))/2 + var(--pad)));
  }
}

/* ========================================================================== 
   v0.34 — Contact page: simplified to form and core positioning only.
   ========================================================================== */
.contact2-page{
  padding:56px 0 0;
  background:var(--paper);
  border-bottom:1px solid var(--line);
}
.contact2-grid{
  display:grid;
  grid-template-columns:minmax(0,1.24fr) minmax(320px,.76fr);
  gap:70px;
  align-items:start;
  padding-bottom:52px;
}
.contact2-form-card{
  background:#fffdf9;
  border:1px solid #e0d8cc;
  border-radius:12px;
  padding:42px 46px 38px;
  box-shadow:0 12px 34px rgba(58,46,34,.07);
}
.contact2-form-title{
  margin:7px 0 10px;
  font-size:clamp(3rem,4.15vw,4.75rem);
  line-height:.94;
  letter-spacing:-.02em;
}
.contact2-form-intro{
  max-width:720px;
  margin:0 0 28px;
  color:#625d56;
  font-size:1rem;
  line-height:1.6;
}
.contact2-success{
  margin:0 0 24px;
  border-left:3px solid var(--copper);
}
.contact2-form{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:17px 18px;
}
.contact2-full{grid-column:1/-1}
.contact2-field{display:flex;flex-direction:column;gap:7px;min-width:0}
.contact2-field label{
  font-size:.92rem;
  line-height:1.3;
  font-weight:600;
  color:var(--ink);
}
.contact2-field input,
.contact2-field textarea,
.contact2-field select{
  width:100%;
  border:1px solid #cbc3b8;
  border-radius:2px;
  background:#fff;
  color:var(--ink);
  font:400 .98rem/1.45 var(--body);
  transition:border-color .18s ease, box-shadow .18s ease;
}
.contact2-field input{height:48px;padding:0 13px}
.contact2-field textarea{min-height:82px;padding:12px 13px;resize:vertical}
.contact2-field.contact2-full:first-of-type textarea{min-height:112px}
.contact2-field input:focus,
.contact2-field textarea:focus,
.contact2-field select:focus{
  outline:2px solid rgba(182,96,52,.22);
  outline-offset:1px;
  border-color:var(--copper);
}
.contact2-select-wrap{position:relative}
.contact2-select-wrap::after{
  content:'⌄';
  position:absolute;
  right:14px;
  top:50%;
  transform:translateY(-53%);
  color:var(--copper);
  pointer-events:none;
  font-size:1.1rem;
}
.contact2-field select{
  height:48px;
  padding:0 42px 0 13px;
  appearance:none;
}
.contact2-identity{
  display:grid;
  grid-template-columns:1fr 1fr 1.08fr;
  gap:18px;
}
.contact2-actions{
  display:flex;
  align-items:center;
  gap:24px;
  padding-top:4px;
}
.contact2-submit{
  border:0;
  min-width:235px;
  height:54px;
  padding:0 20px 0 24px;
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:30px;
  background:var(--copper);
  color:#fff;
  font:600 1rem var(--body);
  cursor:pointer;
  transition:background .18s ease, transform .18s ease;
}
.contact2-submit:hover{background:#9d4e2a;transform:translateY(-1px)}
.contact2-submit span{font-size:1.25rem}
.contact2-trust{
  display:flex;
  align-items:flex-start;
  gap:9px;
  color:#6e675f;
  font-size:.82rem;
  line-height:1.4;
}
.contact2-trust strong{color:var(--ink);font-weight:600}
.contact2-lock{color:var(--copper);font-size:1.25rem;line-height:1}

.contact2-message{
  position:relative;
  min-height:620px;
  padding:46px 24px 34px 12px;
  overflow:hidden;
}
.contact2-message-inner{position:relative;z-index:2;max-width:455px}
.contact2-message .display{
  font-size:clamp(3.5rem,4.7vw,5.7rem);
  line-height:.92;
  margin:0 0 20px;
}
.contact2-scribble{
  width:72px;
  height:7px;
  display:block;
  margin:-8px 0 28px;
  border-top:3px solid var(--copper);
  border-bottom:2px solid var(--copper);
  transform:rotate(-4deg);
}
.contact2-message p{
  max-width:390px;
  font-size:1.05rem;
  line-height:1.65;
  color:#49453f;
  margin:0 0 14px;
}
.contact2-principles{
  margin-top:38px;
  max-width:370px;
}
.contact2-principle{
  display:grid;
  grid-template-columns:62px 1fr;
  gap:14px;
  align-items:center;
  padding:21px 0;
  border-bottom:1px solid var(--line);
}
.contact2-principle:last-child{border-bottom:0}
.contact2-principle-icon{
  display:flex;
  align-items:center;
  justify-content:center;
  width:48px;
  height:48px;
  color:var(--copper);
  border:1px solid rgba(182,96,52,.45);
  border-radius:50%;
  font-size:1.4rem;
  letter-spacing:-.35em;
  padding-right:.35em;
}
.contact2-principle-icon.target{font-size:1.8rem;letter-spacing:0;padding:0}
.contact2-principle-icon.people{font-size:.82rem;letter-spacing:-.18em;padding-right:.18em}
.contact2-principle strong{
  display:block;
  font-family:var(--display);
  font-size:1.38rem;
  line-height:1;
  margin-bottom:5px;
}
.contact2-principle span:not(.contact2-principle-icon){display:block;color:#686159;font-size:.91rem}
.contact2-ibis{
  position:absolute;
  z-index:1;
  width:440px;
  height:auto;
  right:-155px;
  top:35px;
  opacity:.095;
  filter:grayscale(1);
  pointer-events:none;
}

.contact2-other{
  display:grid;
  grid-template-columns:.72fr 1fr 1fr 1fr;
  align-items:stretch;
  border:1px solid var(--line);
  border-bottom:0;
  background:#f5efe6;
}
.contact2-other-label{
  padding:25px 28px;
  display:flex;
  flex-direction:column;
  justify-content:center;
}
.contact2-other-label p{margin:7px 0 0;color:#716a61;font-size:.9rem}
.contact2-other-item{
  min-height:118px;
  display:grid;
  grid-template-columns:42px 1fr auto;
  gap:13px;
  align-items:center;
  padding:22px 24px;
  border-left:1px solid var(--line);
  color:var(--ink);
  text-decoration:none;
  transition:background .18s ease;
}
.contact2-other-item:hover{background:#efe4d6}
.contact2-other-icon{font-size:1.55rem;color:var(--copper)}
.contact2-other-item strong{display:block;font-size:1rem;margin-bottom:5px}
.contact2-other-item small{display:block;font-size:.82rem;line-height:1.45;color:#6e675f}
.contact2-other-item b{font-size:1.25rem;color:var(--copper);font-weight:400}

@media(max-width:1100px){
  .contact2-grid{grid-template-columns:minmax(0,1.15fr) minmax(300px,.85fr);gap:42px}
  .contact2-form-card{padding:36px 34px 34px}
  .contact2-ibis{right:-210px}
  .contact2-other{grid-template-columns:1fr 1fr}
  .contact2-other-label{border-bottom:1px solid var(--line)}
  .contact2-other-item:nth-child(2){border-bottom:1px solid var(--line)}
  .contact2-other-item:nth-child(3){border-left:0}
}
@media(max-width:900px){
  .contact2-page{padding-top:38px}
  .contact2-grid{grid-template-columns:1fr;gap:18px;padding-bottom:36px}
  .contact2-message{min-height:0;padding:28px 10px 24px}
  .contact2-message-inner{max-width:650px}
  .contact2-message .display{font-size:4.2rem}
  .contact2-principles{display:grid;grid-template-columns:repeat(3,1fr);gap:18px;max-width:none;margin-top:28px}
  .contact2-principle{display:block;border:0;border-top:1px solid var(--line);padding:18px 0}
  .contact2-principle-icon{margin-bottom:12px}
  .contact2-ibis{width:330px;right:-95px;top:6px;opacity:.06}
}
@media(max-width:680px){
  .contact2-form-card{padding:28px 20px 26px;border-radius:8px}
  .contact2-form{grid-template-columns:1fr}
  .contact2-full{grid-column:auto}
  .contact2-identity{grid-template-columns:1fr}
  .contact2-actions{align-items:stretch;flex-direction:column;gap:14px}
  .contact2-submit{width:100%;min-width:0}
  .contact2-message .display{font-size:3.55rem}
  .contact2-principles{grid-template-columns:1fr}
  .contact2-principle{display:grid;grid-template-columns:58px 1fr;gap:12px;margin:0;padding:16px 0}
  .contact2-principle-icon{margin:0}
  .contact2-other{grid-template-columns:1fr}
  .contact2-other-label{padding:23px 22px}
  .contact2-other-item{border-left:0;border-top:1px solid var(--line);min-height:96px;padding:18px 22px}
  .contact2-other-item:nth-child(2){border-bottom:0}
  .contact2-other-item:nth-child(3){border-left:0}
}


/* ========================================================================== 
   v0.35 — Contact finishing pass + Phase 1 footer refinement
   ========================================================================== */
/* Contact form: make the completion action and reassurance more deliberate. */
.contact2-submit{
  min-width:270px;
  padding-left:26px;
  padding-right:22px;
}
.contact2-trust{
  font-size:.9rem;
  line-height:1.48;
  max-width:320px;
}
.contact2-trust strong{font-size:.94rem}

/* Contact message: keep the ibis as a complete, faint field-journal silhouette. */
.contact2-message{padding-right:6px}
.contact2-message-inner{max-width:430px}
.contact2-ibis{
  width:390px;
  right:-18px;
  top:94px;
  opacity:.13;
}

/* Footer: contact page is already the destination, so avoid a circular CTA. */
.footer-contact-passive{
  display:block;
  margin-top:18px;
  padding-top:15px;
  border-top:1px solid rgba(255,255,255,.16);
  max-width:260px;
  color:#bdb5ab;
  font-size:.9rem;
  line-height:1.5;
}

@media(max-width:1100px){
  .contact2-ibis{width:350px;right:-12px;top:100px;opacity:.105}
}
@media(max-width:900px){
  .contact2-ibis{width:300px;right:6px;top:12px;opacity:.07}
}
@media(max-width:680px){
  .contact2-submit{min-width:0;width:100%}
  .contact2-trust{font-size:.9rem;max-width:none}
  .contact2-ibis{width:250px;right:-8px;top:20px;opacity:.055}
}

/* ========================================================================== 
   v0.37 — Contact success state
   ========================================================================== */
.contact2-grid.is-success{
  align-items:stretch;
}
.contact2-grid.is-success .contact2-form-card{
  display:flex;
  min-height:620px;
  align-items:center;
  justify-content:center;
}
.contact2-success-state{
  width:100%;
  max-width:620px;
  margin:0 auto;
  text-align:center;
  padding:12px 20px 8px;
}
.contact2-success-art{
  width:min(360px,76%);
  margin:0 auto 18px;
}
.contact2-success-art svg{
  display:block;
  width:100%;
  height:auto;
  overflow:visible;
}
.contact2-success-art .success-path,
.contact2-success-art .success-arrow{
  fill:none;
  stroke:#b66034;
  stroke-width:2.6;
  stroke-linecap:round;
  stroke-linejoin:round;
}
.contact2-success-art .success-path-two{
  opacity:.34;
  stroke-width:1.7;
}
.contact2-success-art .success-envelope rect,
.contact2-success-art .success-envelope path{
  fill:none;
  stroke:#292724;
  stroke-width:2.1;
  stroke-linecap:round;
  stroke-linejoin:round;
}
.contact2-success-art .success-check circle{
  fill:#f7efe5;
  stroke:#b66034;
  stroke-width:2.2;
}
.contact2-success-art .success-check path{
  fill:none;
  stroke:#b66034;
  stroke-width:5;
  stroke-linecap:round;
  stroke-linejoin:round;
}
.contact2-success-state .eyebrow{
  margin-bottom:8px;
}
.contact2-success-title{
  font-size:clamp(3.4rem,5.2vw,5.7rem);
  line-height:.9;
  margin:0 auto 18px;
  max-width:560px;
}
.contact2-success-copy{
  max-width:510px;
  margin:0 auto;
  color:#5f5a54;
  font-size:1.06rem;
  line-height:1.62;
}
.contact2-success-actions{
  display:flex;
  justify-content:center;
  margin-top:28px;
}
.contact2-send-again{
  min-width:245px;
  min-height:54px;
  padding:0 22px 0 26px;
  display:inline-flex;
  align-items:center;
  justify-content:space-between;
  gap:34px;
  background:var(--copper);
  color:#fff;
  text-decoration:none;
  font-weight:600;
  transition:background .18s ease,transform .18s ease;
}
.contact2-send-again:hover{
  background:#9d4e2a;
  transform:translateY(-1px);
}
.contact2-send-again span{font-size:1.25rem}
.contact2-success-note{
  margin:13px 0 0;
  color:#7b746b;
  font-size:.88rem;
}
@media(max-width:900px){
  .contact2-grid.is-success .contact2-form-card{min-height:520px}
  .contact2-success-state{padding-top:4px}
}
@media(max-width:680px){
  .contact2-grid.is-success .contact2-form-card{min-height:0;padding-top:30px;padding-bottom:34px}
  .contact2-success-art{width:min(290px,88%);margin-bottom:12px}
  .contact2-success-title{font-size:3.75rem}
  .contact2-send-again{width:100%;min-width:0}
}

/* v0.38 — Keep the approved standard footer identical before and after contact submission. */

/* v0.39 — QA hardening */
.skip-link{
  position:fixed;
  top:12px;
  left:12px;
  z-index:9999;
  padding:10px 14px;
  background:var(--ink);
  color:var(--white);
  border:2px solid var(--copper);
  transform:translateY(-160%);
  transition:transform .18s ease;
}
.skip-link:focus{transform:translateY(0)}

:where(a,button,input,textarea,select):focus-visible{
  outline:2px solid var(--copper);
  outline-offset:3px;
}

.contact2-error{
  display:grid;
  gap:4px;
  margin:20px 0 24px;
  padding:14px 16px;
  border:1px solid var(--copper);
  border-left:4px solid var(--copper);
  background:#fff8f2;
  color:var(--ink);
}
.contact2-error strong{font-weight:700}
.contact2-error span{color:var(--muted);font-size:.94rem}
.contact2-error ul,
.contact2-validation-summary ul{margin:7px 0 0;padding-left:20px}
.contact2-error li,
.contact2-validation-summary li{margin:2px 0}
.contact2-validation-summary{
  margin:0 0 2px;
  padding:13px 15px;
  border:1px solid var(--copper);
  border-left:4px solid var(--copper);
  background:#fff8f2;
  color:var(--ink);
}
.contact2-validation-summary strong{display:block;margin-bottom:2px}
.contact2-field.has-error input,
.contact2-field.has-error textarea,
.contact2-field.has-error select{
  border-color:#a9482d;
  background:#fff9f6;
  box-shadow:0 0 0 1px rgba(169,72,45,.08);
}
.contact2-field-error{
  display:block;
  margin-top:1px;
  color:#974227;
  font-size:.84rem;
  line-height:1.35;
  font-weight:600;
}

.contact2-honeypot{
  position:absolute!important;
  width:1px!important;
  height:1px!important;
  padding:0!important;
  margin:-1px!important;
  overflow:hidden!important;
  clip:rect(0,0,0,0)!important;
  white-space:nowrap!important;
  border:0!important;
}

@media (prefers-reduced-motion:reduce){
  .skip-link{transition:none}
}

/* ========================================================================== 
   v0.42 — Mobile QA pass
   Production mobile refinements only. Desktop/tablet visual system remains intact.
   ========================================================================== */

@media (max-width:760px){
  /* Header / navigation: make the mobile trigger feel intentional, not like a browser link. */
  .header-inner{height:72px}
  .brand img{width:142px;max-height:54px}
  .menu-toggle{
    display:inline-flex;
    align-items:center;
    justify-content:center;
    min-width:64px;
    min-height:44px;
    padding:8px 12px;
    border:1px solid rgba(182,96,52,.46);
    background:transparent;
    color:var(--ink);
    font-size:.86rem;
    line-height:1;
    font-weight:600;
    letter-spacing:.035em;
    text-transform:none;
    -webkit-appearance:none;
    appearance:none;
    border-radius:0;
  }
  .menu-toggle[aria-expanded="true"]{background:var(--ink);border-color:var(--ink);color:#fff}
  .main-nav{
    top:72px;
    padding:10px var(--pad) 16px;
    gap:0;
    box-shadow:0 14px 24px rgba(0,0,0,.06);
  }
  .main-nav a{
    display:flex;
    align-items:center;
    width:100%;
    min-height:46px;
    padding:10px 2px;
    font-size:1rem;
    text-transform:none;
    letter-spacing:0;
  }
  .main-nav .header-cta{
    width:auto;
    min-height:44px;
    margin-top:8px;
    padding:11px 17px!important;
  }

  /* Homepage: keep the connected thinking story but make each step compact on a phone. */
  .thinking-flow{padding:4px 0}
  .thinking-flow-step{
    grid-template-columns:46px minmax(0,1fr) 104px;
    grid-template-rows:auto;
    gap:10px 12px;
    padding:20px 0;
    align-items:center;
  }
  .thinking-flow-num{width:42px;height:42px;font-size:1.38rem;align-self:start;margin-top:2px}
  .thinking-flow-copy{align-self:center;min-height:0;padding:0}
  .thinking-flow-copy h2{font-size:2rem;line-height:.98;margin:0 0 8px;white-space:normal}
  .thinking-flow-copy ul{font-size:.9rem;line-height:1.46}
  .thinking-flow-visual{grid-column:auto;height:126px;margin:0;display:flex;align-items:center;justify-content:center}
  .thinking-flow-visual img{width:104px;height:122px;object-fit:contain}
  .thinking-flow-connector{height:20px;margin:-10px 0}
  .thinking-flow-connector:before{height:18px;top:1px}
  .thinking-flow-connector span{width:24px;height:24px;margin-top:8px;font-size:1.3rem}

  /* From chaos to clarity: two-column compact process instead of a long vertical run. */
  .process-band{padding:28px 0 30px}
  .process-inner{gap:16px}
  .process-title{padding:0 0 16px;margin:0;border-bottom:1px solid #4a4846}
  .process-title .display{font-size:2.25rem}
  .process-title p{margin:7px 0 0;font-size:.88rem;max-width:34ch}
  .steps{grid-template-columns:repeat(2,minmax(0,1fr));gap:0;border-top:1px solid #343230;border-left:1px solid #343230}
  .step{
    min-height:74px;
    padding:11px 10px;
    display:grid;
    grid-template-columns:34px minmax(0,1fr);
    grid-template-rows:auto 1fr;
    column-gap:9px;
    text-align:left;
    border-right:1px solid #343230;
    border-bottom:1px solid #343230;
    align-items:center;
  }
  .step-num{grid-column:1/-1;font-size:.68rem;line-height:1;margin-bottom:1px}
  .step-icon{grid-column:1;font-size:1.65rem;line-height:1;margin:0;text-align:center}
  .step-name{grid-column:2;font-size:.78rem;line-height:1.2;text-transform:none;font-weight:600}

  /* Homepage closing CTA: mobile gets one focused content block; no split artwork competing for space. */
  .messy-cta{background:#171717;color:#fff;border-bottom:1px solid #343230}
  .messy-split-grid{display:block;min-height:0}
  .messy-split-copy{
    min-height:0;
    padding:38px var(--pad) 42px;
    background:#171717;
    color:#fff;
  }
  .messy-kicker{margin-bottom:11px;color:#d58155}
  .messy-cta .display{font-size:3.55rem;line-height:.91;color:#fff;max-width:9.5ch}
  .messy-support{font-size:1rem;line-height:1.55;color:#d5cec5;margin:18px 0 24px;max-width:34ch}
  .messy-support strong{color:#fff}
  .messy-actions{display:grid;grid-template-columns:1fr;gap:10px;width:100%}
  .messy-primary{width:100%;min-height:48px;justify-content:space-between;background:var(--copper);border-color:var(--copper)}
  .messy-secondary{color:#fff;min-height:44px;align-items:center;white-space:normal}
  .messy-split-media{display:none}

  /* What we solve dark bridge: intentional 2x2 process grid with stronger illustrations. */
  .solve2-bridge{padding:38px 0 40px}
  .solve2-bridge-grid{grid-template-columns:1fr;gap:24px}
  .solve2-bridge-copy h2{font-size:3.25rem;max-width:12ch}
  .solve2-bridge-copy p{font-size:.96rem;max-width:35ch}
  .solve2-bridge-flow{
    display:grid;
    grid-template-columns:repeat(2,minmax(0,1fr));
    gap:12px;
    max-width:none;
  }
  .solve2-bridge-flow b{display:none}
  .solve2-bridge-step{
    min-height:132px;
    padding:15px 10px 13px;
    border:1px solid rgba(255,255,255,.12);
    gap:9px;
  }
  .solve2-bridge-step img{width:112px;height:86px;opacity:.9}
  .solve2-bridge-step span{font-size:.94rem}
  .solve2-bridge-ibis{display:none}

  /* About proof band: remove decorative wash on phones and preserve clean metrics. */
  .about3-proof:after{display:none}

  /* Footer: preserve the Option 1 hierarchy, but remove unnecessary mobile height. */
  .footer-option-one .footer-editorial-grid{
    grid-template-columns:1fr 1fr;
    padding:36px 0 24px;
    row-gap:0;
  }
  .footer-option-one .footer-editorial-brand{
    grid-column:1/-1;
    grid-row:auto;
    padding:0 0 20px;
    margin:0 0 20px;
    border-right:0;
    border-bottom:1px solid rgba(255,255,255,.13);
  }
  .footer-option-one .footer-editorial-brand img{width:150px;margin-bottom:10px}
  .footer-option-one .footer-editorial-brand p{font-size:.94rem;line-height:1.52}
  .footer-option-one .footer-editorial-column{
    padding:0 14px 20px 0;
    min-width:0;
  }
  .footer-option-one .footer-editorial-column:nth-of-type(3){padding-left:14px;padding-right:0;border-left:1px solid rgba(255,255,255,.12)}
  .footer-option-one .footer-editorial-column h3{font-size:.98rem;margin-bottom:9px}
  .footer-option-one .footer-editorial-column a{font-size:.92rem;line-height:1.35;margin-bottom:7px;min-height:28px;display:flex;align-items:center}
  .footer-option-one .footer-editorial-contact{
    grid-column:1/-1;
    grid-row:auto;
    min-height:0;
    margin:2px 0 0;
    padding:20px 100px 22px 0;
    border-left:0;
    border-top:1px solid rgba(255,255,255,.13);
  }
  .footer-option-one .footer-editorial-contact-content{max-width:100%}
  .footer-option-one .footer-editorial-contact p{font-size:.93rem;line-height:1.5;margin-bottom:14px;max-width:31ch}
  .footer-option-one .footer-contact-button{min-height:44px}
  .footer-option-one .footer-editorial-contact::before{
    background:linear-gradient(90deg,#151515 0%,#151515 55%,rgba(21,21,21,.7) 72%,transparent 100%);
  }
  .footer-option-one .footer-editorial-ibis-photo{
    display:block;
    width:145px;
    height:110px;
    right:-16px;
    bottom:-4px;
    opacity:.34;
  }
  .footer-option-one .footer-editorial-legal{
    grid-template-columns:1fr;
    gap:5px;
    padding:14px 0 18px;
    font-size:.79rem;
    line-height:1.35;
  }
  .footer-option-one .footer-editorial-legal span,
  .footer-option-one .footer-editorial-legal span:nth-child(2),
  .footer-option-one .footer-editorial-legal span:last-child{
    grid-column:auto;
    text-align:left;
  }

  /* Comfortable touch targets / reading scale for mobile utility actions. */
  .btn,.about3-primary-button,.solve4-cta-button,.contact2-submit,.contact2-send-again{min-height:46px}
  .text-link,.about3-secondary-link,.about5-work-link{min-height:42px;align-items:center}
}

@media (max-width:480px){
  .hero-copy{padding-top:40px;padding-bottom:38px}
  .display-xl{font-size:4.25rem}
  .thinking-flow-step{grid-template-columns:42px minmax(0,1fr) 92px;gap:9px}
  .thinking-flow-copy h2{font-size:1.9rem}
  .thinking-flow-copy ul{font-size:.87rem}
  .thinking-flow-visual{height:116px}
  .thinking-flow-visual img{width:92px;height:112px}
  .messy-cta .display{font-size:3.35rem}
  .solve2-bridge-step{min-height:124px;padding-inline:8px}
  .solve2-bridge-step img{width:102px;height:80px}
  .footer-option-one .footer-editorial-contact{padding-right:82px}
  .footer-option-one .footer-editorial-ibis-photo{width:125px;height:96px;right:-12px;opacity:.3}
}


/* ========================================================================== 
   v0.43 — Current-page navigation state
   Make the active page unmistakable in the expanded mobile navigation while
   preserving the restrained desktop header treatment.
   ========================================================================== */

/* Manual theme navigation uses aria-current rather than WordPress menu classes. */
.main-nav a[aria-current="page"]:after{right:0}
.main-nav .header-cta[aria-current="page"]{
  background:var(--ink);
  border-color:var(--ink);
  color:#fff;
}

@media (max-width:760px){
  /* The current page becomes the visual anchor of the opened mobile menu. */
  .main-nav a[aria-current="page"],
  .main-nav .header-cta[aria-current="page"]{
    width:100%;
    min-height:50px;
    margin:4px 0;
    padding:12px 14px!important;
    background:var(--ink);
    border:1px solid var(--ink);
    color:#fff;
    font-weight:700;
    box-shadow:inset 4px 0 0 var(--copper);
  }
  .main-nav a[aria-current="page"]:after{display:none}
}

/* ========================================================================== 
   v0.44 — Privacy page
   Plain-language, editorial privacy treatment for the Phase 1 website.
   ========================================================================== */
.privacy-page{background:var(--paper);color:var(--ink)}
.privacy-hero{display:grid;grid-template-columns:minmax(0,1.05fr) minmax(320px,.65fr);gap:80px;align-items:end;padding-top:92px;padding-bottom:74px}
.privacy-hero-copy{max-width:720px}
.privacy-title{font-size:clamp(4.8rem,7vw,7.4rem);line-height:.88;letter-spacing:-.045em;margin:14px 0 26px;max-width:8.7ch}
.privacy-intro{max-width:650px;font-size:1.18rem;line-height:1.68;color:var(--muted);margin:0 0 18px}
.privacy-updated{font-size:.86rem;color:var(--muted);margin:0}
.privacy-summary{min-height:320px;border:1px solid var(--line);padding:38px;display:grid;grid-template-columns:58px 1fr;gap:22px;align-content:center;background:rgba(255,255,255,.3)}
.privacy-summary-mark{width:52px;height:52px;border:1px solid rgba(182,96,52,.45);border-radius:50%;display:grid;place-items:center;color:var(--copper);font-size:1.7rem}
.privacy-summary h2{font-family:'Barlow Condensed',sans-serif;font-size:2.7rem;line-height:.96;margin:10px 0 18px;max-width:10ch}
.privacy-summary p{font-size:1rem;line-height:1.58;color:var(--muted);max-width:36ch;margin:0 0 20px}
.privacy-summary a{display:inline-flex;color:var(--copper);font-weight:600;text-decoration:none;border-bottom:1px solid rgba(182,96,52,.35);padding-bottom:3px}
.privacy-band{background:#171717;color:#fff;border-top:1px solid #262626;border-bottom:1px solid #262626}
.privacy-principles{display:grid;grid-template-columns:repeat(3,1fr)}
.privacy-principles>div{padding:34px 34px 36px;border-right:1px solid rgba(255,255,255,.12)}
.privacy-principles>div:first-child{padding-left:0}
.privacy-principles>div:last-child{border-right:0;padding-right:0}
.privacy-principles span{display:block;color:var(--copper);font-family:'Barlow Condensed',sans-serif;font-weight:700;font-size:1.1rem;margin-bottom:9px}
.privacy-principles strong{display:block;font-family:'Barlow Condensed',sans-serif;font-size:1.8rem;line-height:1.02;margin-bottom:8px}
.privacy-principles p{margin:0;color:#cfc8c0;font-size:.92rem;line-height:1.48;max-width:30ch}
.privacy-content{padding-top:22px;padding-bottom:82px}
.privacy-section{display:grid;grid-template-columns:minmax(250px,.62fr) minmax(0,1.38fr);gap:80px;padding:58px 0;border-bottom:1px solid var(--line)}
.privacy-section-heading h2{font-family:'Barlow Condensed',sans-serif;font-size:3.2rem;line-height:.94;letter-spacing:-.025em;margin:12px 0 0;max-width:12ch}
.privacy-section-body{max-width:760px;font-size:1.02rem;line-height:1.7;color:#34312e}
.privacy-section-body p{margin:0 0 18px}
.privacy-section-body ul{margin:4px 0 22px;padding:0;list-style:none}
.privacy-section-body li{position:relative;padding:5px 0 5px 22px}
.privacy-section-body li:before{content:'→';position:absolute;left:0;top:5px;color:var(--copper)}
.privacy-section-body a{color:var(--copper);text-underline-offset:3px}
.privacy-section-last{border-bottom:0;padding-bottom:20px}
.footer-editorial-legal .footer-privacy-link{color:inherit;text-decoration:none;text-align:center;transition:color .2s ease}
.footer-editorial-legal .footer-privacy-link:hover,.footer-editorial-legal .footer-privacy-link:focus-visible{color:#fff}
.contact2-privacy-link{color:var(--copper);white-space:nowrap;text-decoration:none;margin-left:4px}
.contact2-privacy-link:hover,.contact2-privacy-link:focus-visible{text-decoration:underline;text-underline-offset:3px}

@media (min-width:761px){
  .footer-editorial-legal{grid-template-columns:1.25fr .9fr .55fr 1.15fr}
  .footer-editorial-legal span:nth-child(2){grid-column:auto;text-align:center}
  .footer-editorial-legal span:last-child{grid-column:auto;text-align:right}
}

@media (max-width:900px){
  .privacy-hero{grid-template-columns:1fr;gap:34px;padding-top:70px}
  .privacy-summary{min-height:0;max-width:720px}
  .privacy-section{grid-template-columns:1fr;gap:24px}
  .privacy-section-heading h2{max-width:17ch}
}

@media (max-width:760px){
  .privacy-hero{padding-top:42px;padding-bottom:42px;gap:28px}
  .privacy-title{font-size:4rem;max-width:8ch;margin-top:10px;margin-bottom:20px}
  .privacy-intro{font-size:1rem;line-height:1.58}
  .privacy-summary{grid-template-columns:44px 1fr;padding:24px 20px;gap:14px}
  .privacy-summary-mark{width:40px;height:40px;font-size:1.35rem}
  .privacy-summary h2{font-size:2.25rem;max-width:12ch;margin-top:7px}
  .privacy-principles{grid-template-columns:1fr}
  .privacy-principles>div,.privacy-principles>div:first-child,.privacy-principles>div:last-child{padding:22px 0;border-right:0;border-bottom:1px solid rgba(255,255,255,.12)}
  .privacy-principles>div:last-child{border-bottom:0}
  .privacy-principles strong{font-size:1.65rem}
  .privacy-content{padding-top:4px;padding-bottom:52px}
  .privacy-section{gap:18px;padding:38px 0}
  .privacy-section-heading h2{font-size:2.55rem;max-width:13ch}
  .privacy-section-body{font-size:.98rem;line-height:1.62}
  .footer-editorial-legal .footer-privacy-link{text-align:left;padding:2px 0}
}

/* ========================================================================== 
   v0.45 — Privacy simplification + standard footer legal row
   Remove the duplicate summary/principle treatments and let the seven policy
   sections carry the page. Restore the approved three-part footer rhythm.
   ========================================================================== */
.privacy-hero{
  display:block;
  padding-top:82px;
  padding-bottom:64px;
  border-bottom:1px solid var(--line);
}
.privacy-hero-label{
  width:100%;
  padding-bottom:18px;
}
.privacy-hero-layout{
  display:grid;
  grid-template-columns:minmax(0,.9fr) minmax(420px,1.1fr);
  gap:clamp(54px,7vw,110px);
  align-items:end;
}
.privacy-hero-copy{max-width:none}
.privacy-title{
  font-size:clamp(4.5rem,6.2vw,6.7rem);
  line-height:.9;
  letter-spacing:-.04em;
  margin:0;
  max-width:8.8ch;
}
.privacy-hero-intro{
  padding-bottom:5px;
  max-width:760px;
}
.privacy-intro{
  max-width:720px;
  font-size:1.12rem;
  line-height:1.65;
  margin:0 0 20px;
}
.privacy-hero-meta{
  display:flex;
  flex-wrap:wrap;
  align-items:center;
  gap:14px 28px;
}
.privacy-updated{margin:0}
.privacy-question-link{
  color:var(--copper);
  font-weight:600;
  text-decoration:none;
  border-bottom:1px solid rgba(182,96,52,.34);
  padding-bottom:2px;
}
.privacy-question-link:hover,.privacy-question-link:focus-visible{border-bottom-color:currentColor}

/* v0.44 elements are intentionally no longer rendered; keep them inert if a
   cached template briefly references them. */
.privacy-summary,.privacy-band{display:none!important}
.privacy-content{padding-top:0;padding-bottom:76px}
.privacy-section:first-child{padding-top:52px}

/* Privacy belongs in the existing legal line rather than becoming a fourth
   footer column. */
.footer-editorial-legal{
  grid-template-columns:1fr 1fr 1fr!important;
}
.footer-editorial-legal .footer-legal-left{text-align:left!important}
.footer-editorial-legal .footer-privacy-link{
  color:inherit;
  text-decoration:none;
  transition:color .2s ease;
}
.footer-editorial-legal .footer-privacy-link:hover,
.footer-editorial-legal .footer-privacy-link:focus-visible{color:#fff}
.footer-legal-separator{display:inline-block;margin:0 7px;color:#77716a}

@media (max-width:900px){
  .privacy-hero{padding-top:62px;padding-bottom:52px}
  .privacy-hero-layout{grid-template-columns:1fr;gap:26px}
  .privacy-title{max-width:10ch}
  .privacy-hero-intro{max-width:720px}
}

@media (max-width:820px) and (min-width:561px){
  .footer-editorial-legal{
    grid-template-columns:1fr 1fr!important;
    gap:8px 20px!important;
  }
  .footer-editorial-legal .footer-legal-left{text-align:left!important}
  .footer-editorial-legal span:nth-child(2){text-align:right!important}
  .footer-editorial-legal span:last-child{grid-column:1/-1!important;text-align:left!important}
}

@media (max-width:760px){
  .privacy-hero{padding-top:38px;padding-bottom:38px}
  .privacy-hero-label{padding-bottom:12px}
  .privacy-title{font-size:3.8rem;max-width:8.5ch}
  .privacy-intro{font-size:1rem;line-height:1.58;margin-bottom:14px}
  .privacy-hero-meta{display:grid;gap:7px}
  .privacy-section:first-child{padding-top:32px}
}

@media (max-width:560px){
  .footer-editorial-legal{grid-template-columns:1fr!important;gap:5px!important}
  .footer-editorial-legal .footer-legal-left,
  .footer-editorial-legal span:nth-child(2),
  .footer-editorial-legal span:last-child{grid-column:auto!important;text-align:left!important}
  .footer-legal-separator{margin-inline:5px}
}

/* v0.47 — Public support email update */

/* ========================================================================== 
   v0.48 — Privacy hero spacing correction
   Keep the privacy introduction as one full-width editorial block with a
   reliable vertical rhythm between label, headline, description and date.
   ========================================================================== */
.privacy-hero{
  display:block;
  padding-top:72px;
  padding-bottom:64px;
  border-bottom:1px solid var(--line);
}
.privacy-hero-label{
  display:block;
  width:100%;
  padding:0 0 18px;
}
.privacy-hero-copy{
  display:flex;
  flex-direction:column;
  align-items:flex-start;
  width:100%;
  max-width:none;
}
.privacy-title{
  display:block;
  width:100%;
  max-width:none;
  font-size:clamp(4.5rem,6.1vw,6.8rem);
  line-height:.94;
  letter-spacing:-.035em;
  text-transform:none;
  margin:0 0 34px;
}
.privacy-intro{
  display:block;
  width:100%;
  max-width:920px;
  font-size:1.12rem;
  line-height:1.68;
  color:var(--muted);
  margin:0 0 18px;
}
.privacy-updated{
  display:block;
  margin:0;
  color:var(--muted);
  font-size:.86rem;
}
/* Retire legacy hero layout helpers from earlier privacy iterations. */
.privacy-hero-layout,.privacy-hero-intro,.privacy-hero-meta,.privacy-question-link{display:contents}
.privacy-question-link{display:none!important}

@media (max-width:900px){
  .privacy-hero{padding-top:54px;padding-bottom:50px}
  .privacy-hero-label{padding-bottom:14px}
  .privacy-title{font-size:clamp(3.8rem,10vw,5.5rem);line-height:.94;margin-bottom:26px}
  .privacy-intro{font-size:1.04rem;max-width:760px;margin-bottom:16px}
}
@media (max-width:620px){
  .privacy-hero{padding-top:38px;padding-bottom:40px}
  .privacy-hero-label{padding-bottom:11px}
  .privacy-title{font-size:clamp(3.2rem,15vw,4.45rem);line-height:.95;margin-bottom:22px}
  .privacy-intro{font-size:1rem;line-height:1.6;margin-bottom:14px}
  .privacy-updated{font-size:.82rem}
}

/* v0.49 — launch SEO / 404 polish */
.error404-page{padding:clamp(90px,10vw,160px) 0;background:var(--paper);border-top:1px solid var(--line)}
.error404-grid{display:grid;grid-template-columns:minmax(0,1.15fr) minmax(280px,.85fr);gap:clamp(50px,8vw,120px);align-items:center}
.error404-grid h1{font-size:clamp(4.5rem,8vw,8rem);line-height:.9;margin:14px 0 24px;max-width:8ch}
.error404-grid p{font-size:1.15rem;line-height:1.65;max-width:55ch;color:#4d4741}
.error404-actions{display:flex;gap:24px;align-items:center;margin-top:30px;flex-wrap:wrap}
.error404-note{display:flex;align-items:center;justify-content:center;gap:22px;color:#9b5d3c;font-style:italic;font-size:1.15rem}
.error404-note img{width:min(250px,70%);opacity:.6}
@media(max-width:760px){.error404-page{padding:70px 0}.error404-grid{grid-template-columns:1fr;gap:50px}.error404-grid h1{font-size:4.75rem}.error404-note{justify-content:flex-start}.error404-note img{width:150px}}


/* ========================================================================== 
   v0.50 — Accessibility QA
   Lighthouse flagged contrast and heading-order issues on the homepage.
   These changes preserve the approved visual design while improving WCAG AA
   contrast for small copper text and restoring a sequential heading outline.
   ========================================================================== */

/* Use a brighter copper wherever the surface is charcoal/dark. */
.process-band,
.phase-one-statement,
.site-footer,
.site-footer-editorial,
.footer-option-one,
.solve2-connected,
.solve2-bridge,
.about-method-section,
.about2-belief,
.about3-proof,
.about3-final-cta,
.about4-work,
.messy-cta,
.privacy-band,
.approach-section,
.featured-learn{
  --copper:var(--copper-on-dark);
}

/* Copper-background CTAs need sufficient contrast against white text. */
.btn:not(.btn-dark),
.messy-primary,
.about3-primary-button,
.contact2-submit,
.solve4-cta-button.is-copper{
  --copper:#a24d27;
}

/* Keep muted field-note copy comfortably above AA on the paper background. */
.service-note,
.work-end-note{
  color:#6f675f;
}
