/* NEXXEN v3 · p-company.css — about · contact · 404 page bodies (FINAL-SPEC §10.3 section plans, §10.5 hero loops)
   Tokens, surfaces, type, buttons, chips and .screen come from core.css; this file only adds the page components.
   Motion = transform / opacity / clip-path / stroke-dashoffset. 0 backdrop-filter. Loops pause off-screen (.pc-paused, JS)
   and stop under Calm (html.is-calm). Phones get the full set. */

/* ============ shared ============ */
.pc-cta{display:flex;flex-wrap:wrap;gap:.8rem;margin-top:1.6rem}
.pc-kreol{display:block;margin-top:1.1rem;font-size:clamp(1.25rem,1rem + .9vw,1.7rem);line-height:1.2;color:var(--g-200)}
.pc-sub{margin-top:1.1rem;font-size:clamp(1rem,.95rem + .3vw,1.1875rem);line-height:1.55;color:var(--tx-2);max-width:calc(46 * var(--ch))}
.pc-hero,.pc-chero,.pc-nf{overflow-x:clip}
.pc-paused *,.pc-paused *::before,.pc-paused *::after{animation-play-state:paused!important}
.pc-ico{width:22px;height:22px;fill:none;stroke:currentColor;stroke-width:1.6;stroke-linecap:round;stroke-linejoin:round;flex:none}
/* hero copy over a still/field: its own soft scrim (body copy stays short) */
.pc-scrim{position:relative;isolation:isolate}
.pc-scrim::before{content:"";position:absolute;inset:-18% -12%;z-index:-1;pointer-events:none;
  background:radial-gradient(closest-side,oklch(.1 .016 278/.78),oklch(.1 .016 278/.42) 62%,transparent)}

/* ============ letterboxed screen + island map (about hero, contact map, 404) ============ */
.pc-screen{--lb-t:42px;--lb-b:50px;margin:0;width:100%;aspect-ratio:16/10;
  box-shadow:0 0 0 1px var(--line-1),0 40px 90px -40px oklch(.05 .02 278/.9),0 0 90px -34px var(--glow-2)}
.pc-screen .screen__pic{container-type:size}
.pc-screen .lb__bg{background:var(--ink-bar)}
.pc-screen .hud .kicker{font-size:.6875rem;white-space:nowrap}
.pc-screen .credit{font-size:.75rem;color:var(--tx-3)}
/* CSS-only object-fit:cover for a picture + its overlays (pin, glow, thread): the box keeps the image's aspect */
.pc-map{--zoom:1;--px:48.2%;--py:61.6%;position:absolute;left:50%;top:50%;aspect-ratio:16/9;
  width:calc(max(100cqw,100cqh * 16 / 9) * var(--zoom));translate:-50% -50%}
.pc-map img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.pc-map--dim img{opacity:.42}
@media (max-width:760px){.pc-map{--px:46%;--py:57%;aspect-ratio:9/16;width:calc(max(100cqw,100cqh * 9 / 16) * var(--zoom))}}
.pc-pic-veil{position:absolute;inset:0;pointer-events:none;background:
  radial-gradient(120% 90% at 50% 50%,transparent 45%,oklch(.105 .016 278/.55)),linear-gradient(180deg,oklch(.105 .016 278/.35),transparent 30%,transparent 70%,oklch(.105 .016 278/.45))}

/* gold pin (Forest-Side, Curepipe): dot + 2 ping rings (scale/opacity), 2.4 s */
.pc-pin{position:absolute;left:var(--px);top:var(--py);width:0;height:0;z-index:2}
.pc-pin i{position:absolute;left:-6px;top:-6px;width:12px;height:12px;border-radius:50%;background:var(--gold-fill);
  box-shadow:0 0 0 2px oklch(.14 .02 278/.75),0 0 20px 5px oklch(.83 .14 85/.55)}
.pc-pin i::before,.pc-pin i::after{content:"";position:absolute;inset:-8px;border-radius:50%;border:1.5px solid var(--g-300);
  animation:pcPing 2.4s var(--e-out) infinite}
.pc-pin i::after{animation-delay:-1.2s}
@keyframes pcPing{from{transform:scale(.4);opacity:.95}to{transform:scale(2.6);opacity:0}}
.pc-pin b{position:absolute;left:16px;top:-15px;display:inline-flex;align-items:center;height:30px;padding:0 12px;border-radius:var(--r-pill);white-space:nowrap;
  font:600 .75rem/1 var(--f-mono);letter-spacing:.1em;text-transform:uppercase;color:var(--tx-1);
  background:color-mix(in oklab,var(--ink-0) 78%,transparent);box-shadow:inset 0 0 0 1px oklch(.83 .14 85/.45),0 8px 24px -10px oklch(.05 .02 278/.9)}
.pc-pin b::before{content:"";position:absolute;left:-10px;top:50%;width:10px;height:1px;background:var(--g-300);opacity:.7}
.is-calm .pc-pin i::before,.is-calm .pc-pin i::after{animation:none;opacity:.45;transform:scale(1.5)}
@media (max-width:760px){.pc-pin b{left:0;top:18px;translate:-50% 0}.pc-pin b::before{left:50%;top:-8px;width:1px;height:8px}}

/* ============ ABOUT ============ */
/* 1 · hero: copy + letterboxed island */
.pc-hero .bd--still img{left:auto;right:0;width:72%}
.pc-hero__grid{display:grid;grid-template-columns:minmax(0,5fr) minmax(0,7fr);gap:clamp(2rem,1rem + 3vw,4.5rem);align-items:center}
.pc-hero__copy h1{margin-top:1.1rem;font-size:clamp(2.6rem,1.3rem + 3.7vw,4.7rem)}
.pc-hero__copy .lede{margin-top:1.3rem}
.pc-screen--hero .pc-map{--zoom:1.32}
@media (max-width:980px){.pc-hero__grid{grid-template-columns:1fr}.pc-screen--hero{order:-1}.pc-hero .bd--still img{width:100%}}
@media (max-width:760px){.pc-screen--hero{aspect-ratio:4/5;--lb-t:40px;--lb-b:46px}.pc-screen--hero .pc-map{--zoom:1.12}}

/* 2 · story: split comparison (strike -> flip) + audit strip */
.pc-vs{display:grid;grid-template-columns:minmax(0,1fr) 64px minmax(0,1.12fr);gap:clamp(.9rem,.4rem + 1.4vw,1.5rem);align-items:stretch}
.pc-vs__side{border-radius:var(--r-xl);padding:clamp(1.4rem,1rem + 1.4vw,2.2rem)}
.pc-vs__side.bezel{padding:6px}
.pc-vs__side.bezel>.core{height:100%;padding:clamp(1.3rem,.95rem + 1.4vw,2.1rem)}
.pc-vs__side .kicker{margin:0}
.pc-vs ul{display:grid;gap:1rem;margin-top:1.25rem}
.pc-vs li{display:flex;align-items:center;gap:.8rem;font:560 clamp(1.08rem,.96rem + .55vw,1.4rem)/1.25 var(--f-sans);letter-spacing:-.01em;color:var(--tx-1)}
.pc-vs__side--old li{color:var(--tx-2)}
.pc-vs__side--old .pc-ico{color:var(--tx-4);width:18px;height:18px}
.pc-vs__side--new .pc-ico{color:var(--tx-on-gold);width:14px;height:14px;stroke-width:2.6}
.pc-vs__ck{flex:none;width:26px;height:26px;border-radius:50%;display:grid;place-items:center;background:var(--gold-fill);box-shadow:0 0 16px -2px oklch(.83 .14 85/.55)}
.pc-strike{position:relative}
.pc-strike::after{content:"";position:absolute;left:-3px;right:-3px;top:54%;height:2px;border-radius:2px;
  background:linear-gradient(90deg,var(--g-300),var(--g-500));box-shadow:0 0 10px oklch(.83 .14 85/.6);
  transform:scaleX(0);transform-origin:left;transition:transform .7s var(--e-cine) var(--sd,0s)}
.pc-vs.is-in .pc-strike::after{transform:scaleX(1)}
.pc-vs__side--new li{transform-origin:50% 0;transition:transform .7s var(--e-pop) var(--fd,0s),opacity .3s var(--e-out) var(--fd,0s)}
.js .pc-vs:not(.is-in) .pc-vs__side--new li{transform:perspective(600px) rotateX(-92deg);opacity:0}
.pc-vs__mid{display:grid;place-items:center;color:var(--g-300)}
.pc-vs__mid span{width:56px;height:56px;border-radius:50%;display:grid;place-items:center;background:var(--s-card);box-shadow:inset 0 0 0 1px oklch(.83 .14 85/.4),0 0 30px -8px oklch(.83 .14 85/.5)}
.pc-vs__mid svg{width:22px;height:22px;fill:none;stroke:currentColor;stroke-width:2;stroke-linecap:round;stroke-linejoin:round;transition:transform .7s var(--e-pop) .35s}
.js .pc-vs:not(.is-in) .pc-vs__mid svg{transform:translateX(-10px)}
.is-calm .pc-vs__side--new li{transition:opacity .25s var(--e-out)}
.is-calm .pc-strike::after{transition-duration:.25s}

.pc-audit{display:grid;grid-template-columns:auto repeat(3,minmax(0,1fr)) auto minmax(0,1.3fr);align-items:center;gap:clamp(.6rem,.3rem + .8vw,1rem);margin-top:clamp(1.6rem,1rem + 1.6vw,2.4rem)}
.pc-audit .kicker{margin:0;writing-mode:vertical-rl;rotate:180deg;color:var(--tx-3)}
.pc-audit__tile{display:flex;flex-direction:column;gap:.7rem;height:100%;padding:1.05rem 1.1rem 1.15rem;border-radius:var(--r-lg);font:520 .9375rem/1.35 var(--f-sans);color:var(--tx-1)}
.pc-audit__tile .pc-ico{color:var(--neon-tip);width:20px;height:20px}
.pc-audit__arrow{color:var(--g-300)}
.pc-audit__arrow svg{width:22px;height:22px;fill:none;stroke:currentColor;stroke-width:2;stroke-linecap:round;stroke-linejoin:round}
.pc-audit__win{display:flex;align-items:center;gap:.8rem;height:100%;padding:1.05rem 1.2rem;border-radius:var(--r-lg);
  font:600 clamp(1rem,.94rem + .3vw,1.15rem)/1.3 var(--f-sans);color:var(--g-100);
  background:linear-gradient(180deg,oklch(.83 .14 85/.16),oklch(.83 .14 85/.05)),var(--s-card);box-shadow:inset 0 0 0 1px oklch(.83 .14 85/.5),0 0 34px -12px oklch(.83 .14 85/.7)}
.pc-audit__win .pc-vs__ck{width:30px;height:30px}
.pc-story .kreol{display:block;margin-top:clamp(1.6rem,1rem + 1.4vw,2.2rem)}
@media (max-width:980px){
  .pc-vs{grid-template-columns:1fr}
  .pc-vs__mid span{width:46px;height:46px;rotate:90deg}
  .pc-audit{grid-template-columns:repeat(3,minmax(0,1fr))}
  .pc-audit .kicker{grid-column:1 / -1;writing-mode:horizontal-tb;rotate:none}
  .pc-audit__arrow{grid-column:1 / -1;justify-self:center;rotate:90deg}
  .pc-audit__win{grid-column:1 / -1}
}
@media (max-width:560px){.pc-audit{grid-template-columns:1fr}.pc-audit__tile{flex-direction:row;align-items:center}}

/* 3 · values: bento 2 + 3 */
.pc-bento{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:14px}
.pc-bento>li:nth-child(-n+2){grid-column:span 3}
.pc-bento>li:nth-child(n+3){grid-column:span 2}
.pc-val{position:relative;display:flex;flex-direction:column;gap:.55rem;min-height:196px;padding:clamp(1.3rem,1rem + 1vw,1.8rem);border-radius:var(--r-xl);overflow:hidden}
.pc-val__top{display:flex;align-items:center;justify-content:space-between;margin-bottom:auto;padding-bottom:1.4rem}
.pc-val__n{font:700 2.6rem/.9 var(--f-sans);font-stretch:80%;letter-spacing:-.03em;color:transparent;-webkit-text-stroke:1.1px var(--line-3)}
.pc-val__ico{width:46px;height:46px;border-radius:var(--r-sm);display:grid;place-items:center;color:var(--neon-tip);
  background:color-mix(in oklab,var(--neon) 11%,transparent);box-shadow:inset 0 0 0 1px color-mix(in oklab,var(--neon) 34%,transparent),var(--rim-top)}
.pc-val__ico svg{width:22px;height:22px;fill:none;stroke:currentColor;stroke-width:1.6;stroke-linecap:round;stroke-linejoin:round;
  stroke-dasharray:80;stroke-dashoffset:0;transition:stroke-dashoffset 1.2s var(--e-cine) .2s}
.js .pc-bento:not(.is-in) .pc-val__ico svg{stroke-dashoffset:80}
.pc-val h3{font-size:var(--t-title);font-weight:620;margin:0}
.pc-val p{font-size:var(--t-small);color:var(--tx-2);line-height:1.5;margin:0;max-width:calc(40 * var(--ch))}
.pc-val__note{font-family:var(--f-mono);font-size:var(--t-mono)!important;letter-spacing:.06em;color:var(--g-200)!important}
.pc-val--gold::before{--neon-rim:var(--g-400)}
.pc-val--gold{background:radial-gradient(90% 80% at 100% 0%,oklch(.83 .14 85/.14),transparent 60%),linear-gradient(180deg,rgba(255,255,255,.065),transparent 62%),var(--noise),var(--s-card)}
.pc-val .num-banner{font-size:clamp(3rem,2.2rem + 2.4vw,4.4rem);color:var(--tx-1)}
.pc-val--gold .pc-val__top{padding-bottom:.6rem}
@media (max-width:980px){.pc-bento{grid-template-columns:repeat(2,minmax(0,1fr))}.pc-bento>li:nth-child(n){grid-column:span 1}.pc-bento>li:nth-child(3){grid-column:1 / -1}}
@media (max-width:560px){.pc-bento{grid-template-columns:1fr}.pc-bento>li:nth-child(3){grid-column:auto}.pc-val{min-height:0}.pc-val__top{padding-bottom:.9rem}}

/* 4 · mission: scroll-lit words (the page's one) */
.pc-mission{text-align:center}
.pc-mission .eyebrow{margin-bottom:1.4rem}
.pc-lit{max-width:22ch;margin-inline:auto;font-size:clamp(2rem,1.1rem + 3.2vw,4rem);text-wrap:balance}
.pc-lit .w{color:var(--tx-1);transition:opacity .5s var(--e-out)}
.js .pc-lit .w:not(.on){opacity:.22}
.is-calm .pc-lit .w{opacity:1!important}
.pc-lit .w--g{background:var(--gold-text);-webkit-background-clip:text;background-clip:text;color:transparent;-webkit-text-fill-color:transparent}

/* 5 · capabilities: 7 tiles grouped by destination division */
.pc-caps .eyebrow{margin-bottom:1.4rem}
.pc-caps__grid{display:grid;grid-template-columns:minmax(0,2fr) minmax(0,1fr);grid-template-areas:"ai mob" "ai smart";gap:14px}
.pc-group{border-radius:var(--r-xl);padding:clamp(1.1rem,.9rem + .8vw,1.5rem);display:flex;flex-direction:column;gap:.9rem}
.pc-group--ai{grid-area:ai}.pc-group--mob{grid-area:mob}.pc-group--smart{grid-area:smart}
.pc-group__head{display:flex;align-items:center;gap:.6rem;margin:0;font:620 1rem/1.2 var(--f-sans);color:var(--tx-1)}
.pc-group__head .mono{margin-left:auto;font-size:.6875rem;color:var(--tx-3)}
.pc-dot{width:8px;height:8px;border-radius:50%;background:var(--neon);box-shadow:0 0 0 3px var(--glow-4),0 0 12px var(--glow-2);flex:none}
.pc-group ul{display:grid;gap:10px;flex:1}
.pc-group--ai ul{grid-template-columns:repeat(2,minmax(0,1fr))}
.pc-group--ai li:last-child{grid-column:1 / -1}
.pc-cap{display:flex;align-items:center;gap:.8rem;height:100%;min-height:60px;padding:.75rem .9rem;border-radius:var(--r-md);
  font:560 .9375rem/1.3 var(--f-sans);color:var(--tx-1);background:rgba(255,255,255,.03);box-shadow:inset 0 0 0 1px var(--line-1);
  transition:box-shadow var(--d-2) var(--e-out),transform var(--d-2) var(--e-pop)}
.pc-cap:active{transform:scale(.98)}
@media (hover:hover){.pc-cap:hover{box-shadow:inset 0 0 0 1px var(--neon-rim),0 0 24px -10px var(--glow-2)}.pc-cap:hover .pc-cap__go{transform:translate(3px,-1px)}}
.pc-cap__ico{width:36px;height:36px;border-radius:var(--r-xs);display:grid;place-items:center;flex:none;color:var(--neon-tip);
  background:color-mix(in oklab,var(--neon) 11%,transparent);box-shadow:inset 0 0 0 1px color-mix(in oklab,var(--neon) 30%,transparent)}
.pc-cap__ico svg{width:18px;height:18px;fill:none;stroke:currentColor;stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round}
.pc-cap__go{margin-left:auto;width:16px;height:16px;flex:none;fill:none;stroke:var(--g-300);stroke-width:2;stroke-linecap:round;stroke-linejoin:round;transition:transform var(--d-2) var(--e-pop)}
@media (max-width:760px){.pc-caps__grid{grid-template-columns:1fr;grid-template-areas:"ai" "mob" "smart"}.pc-group--ai ul{grid-template-columns:1fr}}

/* 6 · founder: ID badge (double bezel), rotating neon ring, 3 skill chips riding an ellipse */
.pc-founder__grid{display:grid;grid-template-columns:minmax(0,1.15fr) minmax(0,1fr);grid-template-areas:"stage head" "stage text";column-gap:clamp(1.5rem,1rem + 2vw,3.5rem);row-gap:1.4rem;align-items:center}
.pc-founder__head{grid-area:head;align-self:end}.pc-stage{grid-area:stage}.pc-founder__text{grid-area:text;align-self:start}
.pc-founder__head h2{font-size:clamp(2rem,1.1rem + 2.6vw,3.4rem)}
.pc-stage{--rx:min(250px,37cqw);--ry:190px;position:relative;container-type:inline-size;min-height:520px;display:grid;place-items:center}
.pc-badge{position:relative;z-index:2;width:250px;border-radius:var(--r-xl);
  background:linear-gradient(160deg,oklch(.83 .14 85/.5),oklch(1 0 0/.08) 30%,oklch(1 0 0/.04) 70%,color-mix(in oklab,var(--neon) 50%,transparent));
  box-shadow:0 40px 90px -36px oklch(.05 .02 278/.95),0 0 60px -20px oklch(.83 .14 85/.45)}
.pc-badge>.core{display:flex;flex-direction:column;align-items:center;text-align:center;padding:1.4rem 1.2rem 1.3rem;overflow:hidden;position:relative}
.pc-badge__slot{width:52px;height:8px;border-radius:8px;background:var(--ink-0);box-shadow:inset 0 1px 2px oklch(0 0 0/.6),0 1px 0 oklch(1 0 0/.08)}
.pc-badge__org{margin:1rem 0 1.2rem!important;font-size:.6875rem!important;color:var(--tx-3)}
.pc-mono{position:relative;width:118px;height:118px;border-radius:50%;display:grid;place-items:center}
.pc-mono__ring{position:absolute;inset:-5px;border-radius:50%;
  background:conic-gradient(from 0deg,transparent 0 40%,var(--neon) 62%,var(--g-100) 70%,var(--g-400) 76%,transparent 90%);
  -webkit-mask:radial-gradient(closest-side,transparent calc(100% - 3px),#000 calc(100% - 2px));mask:radial-gradient(closest-side,transparent calc(100% - 3px),#000 calc(100% - 2px));
  animation:spin 3.2s cubic-bezier(.3,.7,.2,1) .4s 1 backwards}   /* final integration (QA r3, <= 3 loops in view): one sweep when the badge first shows (paused off-screen by .pc-paused), the chips carry the motion */
.pc-mono>span{position:relative;width:104px;height:104px;border-radius:50%;display:grid;place-items:center;
  font:640 2.5rem/1 var(--f-sans);font-stretch:84%;letter-spacing:-.02em;
  background:radial-gradient(circle at 50% 30%,oklch(.83 .14 85/.16),transparent 60%),var(--ink-2);box-shadow:inset 0 0 0 1px oklch(.83 .14 85/.4),0 0 40px -6px oklch(.83 .14 85/.45)}
.pc-mono>span b{background:var(--gold-text);-webkit-background-clip:text;background-clip:text;color:transparent;-webkit-text-fill-color:transparent;font-weight:680}
.pc-badge__name{margin-top:1.2rem;font-size:1.35rem!important;line-height:1.15}
.pc-badge__role{margin-top:.45rem;font:600 .6875rem/1.3 var(--f-mono);letter-spacing:.14em;text-transform:uppercase;color:var(--g-300)}
.pc-badge__code{display:block;width:70%;height:20px;margin-top:1.1rem;opacity:.35;
  background:repeating-linear-gradient(90deg,var(--tx-2) 0 2px,transparent 2px 5px,var(--tx-2) 5px 6px,transparent 6px 9px,var(--tx-2) 9px 12px,transparent 12px 14px)}
.is-calm .pc-mono__ring{animation:none}
/* the ellipse: one transform loop per chip along 24 points of the ellipse (compositor only, chips stay upright; QA r3: was 2 loops per chip) */
.pc-skills{position:absolute;inset:0;z-index:3;pointer-events:none}
.pc-orb{position:absolute;left:50%;top:50%;width:0;height:0}
.pc-orb>.chip{position:absolute;left:0;top:0;translate:-50% -50%;width:max-content;max-width:176px;white-space:normal;text-align:left;line-height:1.25;font-size:.8125rem;
  pointer-events:auto;background:linear-gradient(180deg,rgba(255,255,255,.08),rgba(255,255,255,.02)),var(--s-solid);
  box-shadow:inset 0 0 0 1px var(--line-2),var(--rim-top),0 14px 30px -14px oklch(.05 .02 278/.9);
  animation:pcOrb 30s linear infinite;animation-delay:var(--d,0s)}
.pc-orb .trust-chip__ico{color:var(--neon-tip)}
@keyframes pcOrb{0%{transform:translate(calc(-1 * var(--rx)),calc(0 * var(--ry)))}4.167%{transform:translate(calc(-0.9659 * var(--rx)),calc(0.2588 * var(--ry)))}8.333%{transform:translate(calc(-0.866 * var(--rx)),calc(0.5 * var(--ry)))}12.5%{transform:translate(calc(-0.7071 * var(--rx)),calc(0.7071 * var(--ry)))}16.667%{transform:translate(calc(-0.5 * var(--rx)),calc(0.866 * var(--ry)))}20.833%{transform:translate(calc(-0.2588 * var(--rx)),calc(0.9659 * var(--ry)))}25%{transform:translate(calc(-0 * var(--rx)),calc(1 * var(--ry)))}29.167%{transform:translate(calc(0.2588 * var(--rx)),calc(0.9659 * var(--ry)))}33.333%{transform:translate(calc(0.5 * var(--rx)),calc(0.866 * var(--ry)))}37.5%{transform:translate(calc(0.7071 * var(--rx)),calc(0.7071 * var(--ry)))}41.667%{transform:translate(calc(0.866 * var(--rx)),calc(0.5 * var(--ry)))}45.833%{transform:translate(calc(0.9659 * var(--rx)),calc(0.2588 * var(--ry)))}50%{transform:translate(calc(1 * var(--rx)),calc(0 * var(--ry)))}54.167%{transform:translate(calc(0.9659 * var(--rx)),calc(-0.2588 * var(--ry)))}58.333%{transform:translate(calc(0.866 * var(--rx)),calc(-0.5 * var(--ry)))}62.5%{transform:translate(calc(0.7071 * var(--rx)),calc(-0.7071 * var(--ry)))}66.667%{transform:translate(calc(0.5 * var(--rx)),calc(-0.866 * var(--ry)))}70.833%{transform:translate(calc(0.2588 * var(--rx)),calc(-0.9659 * var(--ry)))}75%{transform:translate(calc(0 * var(--rx)),calc(-1 * var(--ry)))}79.167%{transform:translate(calc(-0.2588 * var(--rx)),calc(-0.9659 * var(--ry)))}83.333%{transform:translate(calc(-0.5 * var(--rx)),calc(-0.866 * var(--ry)))}87.5%{transform:translate(calc(-0.7071 * var(--rx)),calc(-0.7071 * var(--ry)))}91.667%{transform:translate(calc(-0.866 * var(--rx)),calc(-0.5 * var(--ry)))}95.833%{transform:translate(calc(-0.9659 * var(--rx)),calc(-0.2588 * var(--ry)))}100%{transform:translate(calc(-1 * var(--rx)),calc(-0 * var(--ry)))}}
.is-calm .pc-orb,.is-calm .pc-orb>.chip{animation:none}
.is-calm .pc-orb:nth-child(1)>.chip{transform:translateX(calc(-1 * var(--rx)))}
.is-calm .pc-orb:nth-child(2)>.chip{transform:translateX(var(--rx))}
.is-calm .pc-orb:nth-child(3)>.chip{transform:translateY(var(--ry))}
.pc-founder__text .lede{font-size:clamp(1.1rem,1rem + .5vw,1.35rem);color:var(--tx-1);max-width:calc(34 * var(--ch))}
@media (max-width:1100px){.pc-founder__grid{grid-template-columns:1fr;grid-template-areas:"head" "stage" "text"}.pc-stage{max-width:700px;width:100%;margin-inline:auto}.pc-founder__text{text-align:center}.pc-founder__text .lede{margin-inline:auto}.pc-founder__text .pc-cta{justify-content:center}}
@media (max-width:760px){
  .pc-stage{min-height:0;display:flex;flex-direction:column;align-items:center;gap:1.2rem}
  .pc-badge{width:min(280px,100%)}
  .pc-skills{position:static;display:flex;flex-wrap:wrap;justify-content:center;gap:.6rem;pointer-events:auto}
  .pc-orb{position:static;width:auto;height:auto;animation:none}
  .pc-orb>.chip{position:static;translate:none;animation:none;max-width:none;white-space:nowrap}
  .is-calm .pc-skills .pc-orb>.chip{transform:none}   /* the Calm ellipse positions are desktop-only (phones wrap the chips in a row) */
}
@media (max-width:380px){.pc-orb>.chip{white-space:normal}}

/* 7 · ecosystem: the core orbit / phone carousel keeps its own look */
.pc-eco .section-header{margin-bottom:clamp(1.25rem,.8rem + 1.5vw,2.25rem)}

/* 8 · end card: letterboxed K1 still, copy on its own scrim (desktop) or below (phones) */
.pc-end{position:relative}
.pc-screen--end{aspect-ratio:2.05/1;--lb-t:44px;--lb-b:50px}
.pc-screen--end .screen__pic img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;opacity:.62}
.pc-screen--end .lb--bot .hud{justify-content:flex-end}
.pc-end__copy{position:absolute;left:0;right:0;top:var(--lb-t,44px);bottom:50px;z-index:5;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;padding:1.5rem clamp(1.5rem,5vw,5rem)}
.pc-end__copy::before{content:"";position:absolute;inset:6% 8%;z-index:-1;pointer-events:none;background:radial-gradient(closest-side,oklch(.1 .016 278/.88),oklch(.1 .016 278/.62) 60%,transparent)}
.pc-end__line{max-width:17ch;font-size:clamp(2rem,1.2rem + 2.6vw,3.6rem);line-height:1}
.pc-end__sub{margin-top:1rem;max-width:calc(44 * var(--ch));color:var(--tx-1);font-size:clamp(1rem,.95rem + .3vw,1.15rem)}
.pc-end__copy .pc-cta{justify-content:center;margin-top:1.4rem}
.pc-end__copy .kreol{margin-top:1rem}
@media (max-width:900px){
  .pc-screen--end{aspect-ratio:16/10}
  .pc-end__copy{position:relative;top:auto;bottom:auto;margin-top:-1px;padding:1.8rem 1.35rem 2rem;border-radius:0 0 var(--r-xl) var(--r-xl);
    background:linear-gradient(180deg,oklch(1 0 0/.05),transparent 45%),var(--noise),var(--s-solid);box-shadow:var(--rim-bot),inset 0 0 0 1px var(--line-1)}
  .pc-end__copy::before{display:none}
  .pc-end .pc-screen--end{border-radius:var(--r-screen) var(--r-screen) 0 0}
}

/* ============ CONTACT ============ */
/* 1 · hero: copy + three glass tap tiles */
.pc-chero__grid{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.05fr);gap:clamp(2rem,1rem + 3vw,4.5rem);align-items:center}
.pc-chero h1{font-size:clamp(2.6rem,1.3rem + 3.9vw,5rem)}
.pc-chero .lede{margin-top:1.3rem}
.pc-methods{display:grid;gap:12px}
.pc-m{position:relative;border-radius:var(--r-xl);overflow:hidden}
.pc-m__link{display:grid;grid-template-columns:auto minmax(0,1fr) auto;grid-template-areas:"ico body go";align-items:center;gap:.9rem 1rem;min-height:96px;padding:1.1rem 4.4rem 1.1rem 1.2rem;border-radius:inherit;color:var(--tx-1)}
.pc-m__ico{grid-area:ico;width:52px;height:52px;border-radius:var(--r-md);display:grid;place-items:center;color:var(--neon-tip);
  background:color-mix(in oklab,var(--neon) 11%,transparent);box-shadow:inset 0 0 0 1px color-mix(in oklab,var(--neon) 34%,transparent),var(--rim-top)}
.pc-m--wa .pc-m__ico{color:var(--tx-on-gold);background:var(--gold-fill);box-shadow:inset 0 1px 0 rgba(255,255,255,.5),0 0 26px -6px oklch(.83 .14 85/.6)}
.pc-m__ico svg{width:24px;height:24px;fill:none;stroke:currentColor;stroke-width:1.6;stroke-linecap:round;stroke-linejoin:round}
.pc-m__body{grid-area:body;display:grid;gap:.2rem;min-width:0}
.pc-m__k{font:500 var(--t-mono)/1.3 var(--f-mono);letter-spacing:.14em;text-transform:uppercase;color:var(--tx-3)}
.pc-m__v{font:620 clamp(1.1rem,1rem + .45vw,1.35rem)/1.25 var(--f-sans);letter-spacing:-.01em;color:var(--tx-1)}
.pc-m__go{grid-area:go;display:inline-flex;align-items:center;gap:.45rem;font:600 var(--t-mono)/1 var(--f-mono);letter-spacing:.14em;text-transform:uppercase;color:var(--g-200);white-space:nowrap}
.pc-m__go svg{width:14px;height:14px;fill:none;stroke:currentColor;stroke-width:2;stroke-linecap:round;stroke-linejoin:round;transition:transform var(--d-2) var(--e-pop)}
@media (hover:hover){a.pc-m__link:hover .pc-m__go svg{transform:translateX(3px)}.pc-m:has(a.pc-m__link:hover)::before{--neon-rim:var(--g-400)}}
.pc-m:has(a.pc-m__link:active){transform:scale(.99)}
.pc-m{transition:transform var(--d-2) var(--e-pop)}
.pc-copy{position:absolute;right:14px;top:50%;translate:0 -50%;z-index:3}
.pc-copy .ck{display:none}
.pc-copy:is(.is-done,.is-copied) .pc-copy__i{display:none}
.pc-copy:is(.is-done,.is-copied) .ck{display:block;animation:pcPop .36s var(--e-pop)}
@keyframes pcPop{from{transform:scale(.4)}to{transform:scale(1)}}
.pc-m--loc .pc-m__go{color:var(--tx-2)}
@media (max-width:980px){.pc-chero__grid{grid-template-columns:1fr}}
@media (max-width:560px){
  .pc-m__link{grid-template-columns:auto minmax(0,1fr);grid-template-areas:"ico body" "ico go";padding-right:3.9rem;min-height:0;gap:.55rem .9rem}
  .pc-m__ico{width:46px;height:46px}
  .pc-copy{right:10px}
}

/* 2 · form + live WhatsApp preview + what happens next */
.pc-cform__grid{display:grid;grid-template-columns:minmax(0,1.5fr) minmax(0,1fr);gap:clamp(1.5rem,1rem + 2vw,3rem);align-items:start}
.pc-formcard{padding:clamp(1.4rem,1rem + 1.6vw,2.4rem);border-radius:var(--r-xl)}
.pc-formcard .form-grid{position:relative;z-index:1}
.pc-formcard .field label .opt{color:var(--tx-3);text-transform:none;letter-spacing:0;font-size:.78rem;margin-left:.4rem}
.pc-formcard .field__error{color:var(--err)}
.pc-formcard .form__success{background:linear-gradient(180deg,oklch(.83 .14 85/.14),oklch(.83 .14 85/.05));border:0;box-shadow:inset 0 0 0 1px oklch(.83 .14 85/.4)}
.pc-formcard .form__success p{color:var(--tx-1)}
.pc-formcard .form__success .kreol{display:block;margin-top:.25rem;color:var(--g-200);font-size:1.05em}
.pc-preview{position:sticky;top:calc(var(--nav-h) + 34px);display:grid;justify-items:center;gap:14px;padding-top:6px}
.pc-preview .tag{color:var(--tx-2)}
.pc-phone{position:relative;width:min(290px,100%);aspect-ratio:9/17.4;border-radius:40px;padding:7px;isolation:isolate;
  background:linear-gradient(160deg,oklch(.32 .02 270),oklch(.16 .02 276) 40%,oklch(.12 .02 278));
  box-shadow:inset 0 0 0 1px oklch(1 0 0/.14),0 0 0 1px oklch(.05 .01 278),0 40px 80px -30px oklch(.05 .02 278/.9),0 0 60px -18px var(--glow-2)}
.pc-phone::before{content:"";position:absolute;inset:-1px;border-radius:inherit;padding:1px;z-index:-1;background:linear-gradient(160deg,var(--neon),transparent 30% 70%,var(--g-400));
  -webkit-mask:linear-gradient(#000 0 0) content-box,linear-gradient(#000 0 0);-webkit-mask-composite:xor;mask:linear-gradient(#000 0 0) content-box exclude,linear-gradient(#000 0 0);opacity:.8}
.pc-phone__scr{position:relative;height:100%;border-radius:33px;overflow:hidden;display:flex;flex-direction:column;
  background:radial-gradient(120% 60% at 50% 0,color-mix(in oklab,var(--neon) 14%,transparent),transparent 60%),linear-gradient(180deg,var(--ink-1),var(--ink-0))}
.pc-phone__isl{position:absolute;left:50%;top:9px;width:74px;height:20px;translate:-50% 0;border-radius:20px;background:#000;z-index:2}
.pc-phone__bar{height:36px;flex:none}
.pc-app__head{display:flex;align-items:center;gap:10px;padding:8px 14px 12px;border-bottom:1px solid var(--line-1)}
.pc-app__av{width:32px;height:32px;border-radius:50%;display:grid;place-items:center;flex:none;box-shadow:inset 0 0 0 1.5px var(--neon),0 0 12px var(--glow-3);background:var(--ink-2)}
.pc-app__av svg{width:17px;height:10px;fill:none;stroke:var(--g-300);stroke-width:2.4}
.pc-app__t{font:600 .875rem/1.1 var(--f-sans);color:var(--tx-1)}
.pc-app__s{font:500 .6875rem/1 var(--f-mono);letter-spacing:.1em;text-transform:uppercase;color:var(--neon-tip);margin-top:4px}
.pc-app__body{flex:1;min-height:0;display:flex;flex-direction:column;justify-content:flex-end;padding:12px;overflow:hidden}
.pc-bub{align-self:flex-end;max-width:92%;padding:9px 12px 7px;border-radius:14px 14px 4px 14px;font-size:.8125rem;line-height:1.38;color:var(--tx-1);
  background:color-mix(in oklab,var(--neon) 20%,var(--ink-2));box-shadow:inset 0 0 0 1px var(--glow-3);white-space:pre-wrap;overflow-wrap:anywhere;
  transition:transform .3s var(--e-pop)}
.pc-bub.is-bump{transform:scale(1.015)}
.pc-bub .sk{display:inline-block;width:72px;height:.62em;border-radius:4px;vertical-align:-.02em;background:oklch(1 0 0/.14)}
.pc-bub .sk--l{width:100%}
.pc-bub .meta{display:flex;justify-content:flex-end;margin-top:4px;color:var(--neon-tip)}
.pc-bub .meta svg{width:14px;height:14px;fill:none;stroke:currentColor;stroke-width:2.2;stroke-linecap:round;stroke-linejoin:round}
.pc-app__comp{display:flex;align-items:center;gap:8px;margin:0 10px 12px;height:38px;padding:0 5px 0 14px;border-radius:19px;background:oklch(1 0 0/.06);box-shadow:inset 0 0 0 1px var(--line-1);font-size:.75rem;color:var(--tx-3);flex:none}
.pc-app__comp i{margin-left:auto;width:28px;height:28px;border-radius:50%;background:var(--gold-fill);display:grid;place-items:center}
.pc-app__comp i svg{width:12px;height:12px;fill:none;stroke:var(--tx-on-gold);stroke-width:2.6;stroke-linecap:round;stroke-linejoin:round}

.pc-next{position:relative;display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px;margin-top:clamp(1.6rem,1rem + 1.6vw,2.5rem);counter-reset:pcn}
.pc-next::before{content:"";position:absolute;left:24px;right:24px;top:23px;height:2px;border-radius:2px;background:var(--line-2)}
.pc-next::after{content:"";position:absolute;left:24px;right:24px;top:23px;height:2px;border-radius:2px;background:linear-gradient(90deg,var(--g-400),var(--neon));
  transform:scaleX(var(--lit,0));transform-origin:left;transition:transform .7s var(--e-cine)}
.pc-next li{position:relative;display:grid;gap:.9rem;align-content:start}
.pc-next__dot{position:relative;z-index:1;width:48px;height:48px;border-radius:50%;display:grid;place-items:center;
  font:600 .75rem/1 var(--f-mono);letter-spacing:.06em;color:var(--tx-3);background:var(--ink-1);box-shadow:inset 0 0 0 1px var(--line-2),0 0 0 6px var(--ink-0);
  transition:background-color var(--d-3) var(--e-out),color var(--d-3),box-shadow var(--d-3)}
.pc-next__dot svg{position:absolute;width:18px;height:18px;fill:none;stroke:var(--tx-on-gold);stroke-width:2.6;stroke-linecap:round;stroke-linejoin:round;stroke-dasharray:20;stroke-dashoffset:20;transition:stroke-dashoffset .4s var(--e-out) .12s}
.pc-next li.is-lit .pc-next__dot{color:transparent;background:var(--g-400);box-shadow:inset 0 1px 0 rgba(255,255,255,.5),0 0 0 6px var(--ink-0),0 0 24px 2px oklch(.83 .14 85/.45)}
.pc-next li.is-lit .pc-next__dot svg{stroke-dashoffset:0}
.pc-next p{margin:0;padding:1rem 1.05rem;border-radius:var(--r-lg);font-size:var(--t-small);line-height:1.45;color:var(--tx-1);
  background:linear-gradient(180deg,rgba(255,255,255,.05),transparent 50%),var(--s-card);box-shadow:inset 0 0 0 1px var(--line-1),var(--rim-top);transition:box-shadow var(--d-3) var(--e-out)}
.pc-next li.is-lit p{box-shadow:inset 0 0 0 1px oklch(.83 .14 85/.4),var(--rim-top)}
@media (max-width:980px){
  .pc-cform__grid{grid-template-columns:1fr}
  .pc-preview{position:relative;top:auto}
  .pc-next{grid-template-columns:1fr;gap:12px}
  .pc-next::before,.pc-next::after{left:23px;right:auto;top:24px;bottom:24px;width:2px;height:auto}
  .pc-next::after{transform:scaleY(var(--lit,0));transform-origin:top}
  .pc-next li{grid-template-columns:48px minmax(0,1fr);align-items:center}
}
@media (max-width:760px){.pc-phone{width:min(270px,78vw);aspect-ratio:9/12.5}}   /* QA r2: a shorter phone (no ~350 px of empty chat above the bubble) */

/* 3 · island map + close */
.pc-find__grid{display:grid;grid-template-columns:minmax(0,1.35fr) minmax(0,1fr);gap:clamp(1.5rem,1rem + 2vw,3rem);align-items:center}
.pc-screen--map{--lb-b:58px}
.pc-screen--map .pc-map{--zoom:1.5}
.pc-screen--map .lb--bot .hud{justify-content:space-between}
.pc-cap-row{display:flex;align-items:center;gap:1rem;min-width:0}
.pc-cap-row .kicker{display:inline-flex;align-items:center;gap:.5em;color:var(--tx-1);white-space:nowrap}
.pc-cap-row .kicker svg{width:14px;height:14px;fill:none;stroke:var(--g-300);stroke-width:1.8}
.pc-cap-row .tlink{font-size:.875rem;white-space:nowrap;min-height:44px}
.pc-close .chips{gap:10px}
.pc-close .trust-chip{color:var(--tx-1)}
.pc-caveat{margin-top:.9rem;font-size:.8125rem;line-height:1.5;color:var(--tx-2);max-width:calc(46 * var(--ch))}
@media (max-width:980px){.pc-find__grid{grid-template-columns:1fr}}
@media (max-width:760px){
  .pc-screen--map{aspect-ratio:4/5;--lb-b:92px}
  .pc-screen--map .pc-map{--zoom:1.25}
  .pc-screen--map .lb--bot .hud{flex-direction:column;align-items:flex-start;justify-content:center;gap:2px}
  .pc-screen--map .credit{text-align:left}
  .pc-close .trust-chip{white-space:normal}
}

/* ============ 404 ============ */
.pc-nf{padding-bottom:clamp(2.5rem,1.5rem + 3vw,4.5rem)}
.pc-nf__stage{position:relative;cursor:pointer}
.pc-screen--nf{aspect-ratio:auto;height:clamp(440px,min(68svh,calc(100svh - 330px)),700px);--lb-t:44px;--lb-b:48px}   /* QA r2: the 2x2 / 4-up route tiles show in the first desktop viewport */
.pc-screen--nf .pc-map{--zoom:1.18;left:64%}
/* copy: left half of the screen on desktop (own scrim), in flow under the screen on phones */
.pc-nf__copy{position:absolute;left:0;top:44px;bottom:48px;width:min(560px,52%);z-index:5;display:flex;flex-direction:column;justify-content:center;align-items:flex-start;
  padding:1.5rem clamp(1.5rem,4vw,4rem);cursor:auto}
.pc-nf__copy::before{content:"";position:absolute;inset:0 -30% 0 0;z-index:-1;pointer-events:none;
  background:radial-gradient(70% 70% at 30% 50%,oklch(.1 .016 278/.9),oklch(.1 .016 278/.6) 60%,transparent)}
.pc-nf__copy h1{margin-top:1rem;font-size:clamp(2.6rem,1.3rem + 3.8vw,5rem)}
.pc-nf__copy .lede{margin-top:1.1rem;color:var(--tx-1)}
.pc-nf__code{margin-top:1.2rem;font:500 .75rem/1.4 var(--f-mono);letter-spacing:.2em;text-transform:uppercase;color:var(--tx-3)}
/* off-grid glow (flicker, 3 s steps) + gold thread to the hub: draws and steadies on hover / focus / tap. Desktop point (final integration,
   QA r3): open sea off the west coast, inside the picture above the bottom letterbox bar at 1024-1920 px (was under the bar) */
.pc-glow{--gx:29.5%;--gy:72.5%;position:absolute;left:var(--gx);top:var(--gy);width:0;height:0;z-index:2}
.pc-glow::before{content:"";position:absolute;left:-60px;top:-60px;width:120px;height:120px;border-radius:50%;
  background:radial-gradient(closest-side,oklch(.9 .1 88/.95),oklch(.83 .14 85/.45) 30%,oklch(.83 .14 85/.12) 58%,transparent);
  animation:pcFlicker 3s steps(1,end) infinite}
.pc-glow::after{content:"";position:absolute;left:-4px;top:-4px;width:8px;height:8px;border-radius:50%;background:var(--g-100);box-shadow:0 0 12px 3px oklch(.9 .1 88/.8)}
@keyframes pcFlicker{0%{opacity:.85}12%{opacity:.2}18%{opacity:.9}31%{opacity:.35}36%{opacity:.8}58%{opacity:.15}64%{opacity:.7}80%{opacity:.3}88%{opacity:.85}}
.pc-thread{position:absolute;inset:0;width:100%;height:100%;z-index:1;overflow:visible;pointer-events:none}
.pc-thread path{fill:none;stroke:var(--g-300);stroke-width:.45;stroke-linecap:round;stroke-dasharray:1;stroke-dashoffset:1;transition:stroke-dashoffset 1.4s var(--e-cine)}
.pc-thread--p{display:none}
.pc-thread--l path{stroke-width:.2}.pc-thread--p path{stroke-width:.36}
.pc-screen--nf .pc-pin i{opacity:.5;transition:opacity .6s var(--e-out) .9s}
.pc-screen--nf .pc-pin i::before,.pc-screen--nf .pc-pin i::after{animation-play-state:paused;opacity:0}
.pc-nf__stage:is(:hover,:focus-within,.is-linked) .pc-thread path{stroke-dashoffset:0}
.pc-nf__stage:is(:hover,:focus-within,.is-linked) .pc-glow::before{animation:none;opacity:1}
.pc-nf__stage:is(:hover,:focus-within,.is-linked) .pc-pin i{opacity:1}
.pc-nf__stage:is(:hover,:focus-within,.is-linked) .pc-pin i::before,.pc-nf__stage:is(:hover,:focus-within,.is-linked) .pc-pin i::after{animation-play-state:running;opacity:1}
.is-calm .pc-glow::before{animation:none;opacity:.8}
.is-calm .pc-thread path{stroke-dashoffset:0}
.pc-routes{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;margin-top:14px}
.pc-route{display:flex;align-items:center;gap:.85rem;min-height:76px;padding:.9rem 1.1rem;border-radius:var(--r-lg);overflow:hidden;
  font:600 1rem/1.25 var(--f-sans);color:var(--tx-1);transition:transform var(--d-2) var(--e-pop)}
.pc-route:active{transform:scale(.98)}
.pc-route .btn__label{text-align:left}   /* one- and two-line labels read the same way (QA r3) */
.pc-route .pc-cap__ico{width:40px;height:40px}
.pc-route--gold .pc-cap__ico{color:var(--tx-on-gold);background:var(--gold-fill);box-shadow:inset 0 1px 0 rgba(255,255,255,.5)}
@media (hover:hover){.pc-route:hover{transform:translateY(-2px)}.pc-route:hover .pc-cap__go{transform:translate(3px,-1px)}}
@media (max-width:980px){.pc-routes{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media (max-width:760px){
  .pc-screen--nf{height:auto;aspect-ratio:4/5}
  .pc-screen--nf .pc-map{--zoom:1.05;left:50%}
  .pc-glow{--gx:10.2%;--gy:70.3%}
  .pc-thread--l{display:none}.pc-thread--p{display:block}
  .pc-nf__copy{position:relative;top:auto;bottom:auto;width:auto;padding:1.6rem .25rem .4rem}
  .pc-nf__copy::before{display:none}
  .pc-nf__copy h1{font-size:clamp(2.4rem,1.4rem + 5vw,3.2rem)}
  .pc-route{flex-direction:column;align-items:flex-start;gap:.7rem;min-height:0;padding:1rem;font-size:.9375rem;position:relative}
  .pc-route .pc-cap__go{position:absolute;right:14px;top:22px}
}
/* integration round 2 (QA r2): the phone hero screen is capped so the H1 sits in the first screen (~0.8 x svh at 752 px) */
@media (max-width:760px){.pc-screen--hero{max-height:max(220px,30svh)}}
/* integration round 2 (QA r2): a wider desktop copy column so the About H1 sets in 3 lines, not 4 */
@media (min-width:981px){.pc-hero__grid{grid-template-columns:minmax(0,6fr) minmax(0,6fr)}}

/* ============ contact · integration round 3 (QA r3) ============ */
/* the mailto fallback is a 44 px target without moving its text line (§14.6) */
#cf-mailto{display:inline-block;padding:12px 2px;margin:-12px -2px}
/* desktop (QA r3): the live-preview phone (the contact hero visual, §10.3/§10.5) rides up beside the section heading, so its screen with
   the prefilled WhatsApp bubble reaches the first 900 px; the form grid's cells join the section's grid (display:contents), order kept */
@media (min-width:981px){
  /* final integration (QA r3): the grid is .pc-cform__top (heading + form + phone), not the whole .wrap, so the sticky phone's
     containing block ends with the form row and it can never ride down over the "what happens next" timeline below */
  .pc-cform__top{display:grid;grid-template-columns:minmax(0,1.5fr) minmax(0,1fr);column-gap:clamp(1.5rem,1rem + 2vw,3rem);align-items:start}
  .pc-cform__grid{display:contents}
  .pc-cform .section-header{grid-column:1;grid-row:1}
  .pc-cform .pc-formcard{grid-column:1;grid-row:2}
  .pc-cform .pc-preview{grid-column:2;grid-row:1 / span 2}
}
/* the map caption is the OSM link itself (one caption line, 44 px target) */
.pc-maplink{display:inline-flex;align-items:center;gap:.5em;min-height:44px;color:inherit;text-decoration:none}
.pc-maplink .pc-maplink__go{width:13px;height:13px;margin-left:.15em;color:var(--g-300);transition:transform var(--d-2) var(--e-pop)}
@media (hover:hover){.pc-maplink:hover .pc-maplink__go{transform:translate(2px,-2px)}.pc-maplink:hover{color:var(--tx-1)}}
/* location tile: "Proudly Mauritian" as the four official bands (National Symbols Act 2022; the words stay for assistive tech) */
.pc-m__flag i{display:block;width:30px;height:20px;border-radius:3px;box-shadow:0 0 0 1px oklch(1 0 0/.14),0 4px 12px -4px oklch(0 0 0/.6);
  background:linear-gradient(#D01C1F 0 25%,#2D3359 0 50%,#F7B718 0 75%,#008658 0)}
