/* F-AIMS site stylesheet.
   Recovered from the ChatGPT draft (f-aims.ciel-viem.chatgpt.site, build index-CBEIrVkJ.css) on 28/09/2026.
   Removed: ChatGPT layout-editor rules, unused Caesar/fields rules, remote font-face list.
   Added: self-hosted fonts, Tools section, footer nav, privacy page. */

/* ---- Fonts (self-hosted, SIL OFL 1.1, see /fonts) ---- */
@font-face{font-family:"Cormorant Infant";font-style:normal;font-display:swap;font-weight:400;src:url(/fonts/cormorant-infant-latin-ext-400-normal.woff2)format("woff2");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}
@font-face{font-family:"Cormorant Infant";font-style:normal;font-display:swap;font-weight:400;src:url(/fonts/cormorant-infant-latin-400-normal.woff2)format("woff2");unicode-range:U+0000-00FF,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}
@font-face{font-family:"Cormorant Infant";font-style:italic;font-display:swap;font-weight:400;src:url(/fonts/cormorant-infant-latin-ext-400-italic.woff2)format("woff2");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}
@font-face{font-family:"Cormorant Infant";font-style:italic;font-display:swap;font-weight:400;src:url(/fonts/cormorant-infant-latin-400-italic.woff2)format("woff2");unicode-range:U+0000-00FF,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}
@font-face{font-family:Poppins;font-style:normal;font-display:swap;font-weight:400;src:url(/fonts/poppins-latin-ext-400-normal.woff2)format("woff2");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}
@font-face{font-family:Poppins;font-style:normal;font-display:swap;font-weight:400;src:url(/fonts/poppins-latin-400-normal.woff2)format("woff2");unicode-range:U+0000-00FF,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}
@font-face{font-family:Poppins;font-style:normal;font-display:swap;font-weight:500;src:url(/fonts/poppins-latin-ext-500-normal.woff2)format("woff2");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}
@font-face{font-family:Poppins;font-style:normal;font-display:swap;font-weight:500;src:url(/fonts/poppins-latin-500-normal.woff2)format("woff2");unicode-range:U+0000-00FF,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}

/* ---- Base reset (from Tailwind preflight in the draft) ---- */
*,:after,:before,::backdrop{box-sizing:border-box;border:0 solid;margin:0;padding:0}
html{-webkit-text-size-adjust:100%;tab-size:4;line-height:1.5;font-family:ui-sans-serif,system-ui,sans-serif;-webkit-tap-highlight-color:transparent}
h1,h2,h3,h4,h5,h6{font-size:inherit;font-weight:inherit}
a{color:inherit;text-decoration:inherit}
b,strong{font-weight:bolder}
ol,ul,menu{list-style:none}
img,svg,video{vertical-align:middle;display:block}
img,video{max-width:100%;height:auto}

/* ---- Tokens ---- */
:root{--ivory:#f4f3ed;--ivory-deep:#e9ece5;--forest:#163f36;--forest-dark:#0d2d27;--verdigris:#4f9a83;--seafoam:#bedbd1;--living:#799c67;--silver:#c3cbc8;--silver-light:#e5e9e7;--silver-bright:#f7f8f6;--silver-deep:#74817c;--mineral:#87938f;--graphite:#25302c;--white:#fbfcf9;--font-display:"Cormorant Infant",Georgia,serif;--font-body:"Poppins",Arial,sans-serif;--font-label:"Poppins",Arial,sans-serif;--layout-title-x:0px;--layout-title-y:0px;--layout-title-base-x:0px;--layout-title-base-y:0px;--layout-orbit-x:0px;--layout-orbit-y:0px;--layout-orbit-base-x:0px;--layout-orbit-base-y:0px}
html{scroll-behavior:smooth}
body{background:var(--ivory);color:var(--graphite);font-family:var(--font-body);margin:0}
a{color:inherit;text-decoration:none}
a:focus-visible{outline:2px solid var(--verdigris);outline-offset:3px}

/* ---- Header ---- */
.site-header{z-index:10;grid-template-columns:1fr auto 1fr;align-items:center;max-width:1480px;height:92px;margin:0 auto;padding:0 5vw;display:grid;position:absolute;top:0;left:0;right:0}
.brand{justify-self:start;align-items:center;display:flex}
.brand-logo{filter:drop-shadow(0 3px 6px #0d2d2714);width:clamp(174px,13vw,194px);height:auto;display:block}
.desktop-nav{align-items:center;gap:34px;display:flex}
.desktop-nav a{color:#4d5b56;font-size:.81rem;transition:color .18s}
.desktop-nav a:hover,.desktop-nav a:focus-visible{color:var(--forest)}
.header-action{color:var(--forest);border-bottom:1px solid #163f3666;justify-self:end;padding:7px 0;font-size:.82rem}
.header-action span{margin-left:5px;transition:transform .18s;display:inline-block}
.header-action:hover span{transform:translate(2px,-2px)}

/* ---- Hero ---- */
.hero{grid-template-columns:1fr;min-height:100vh;padding:155px 7vw 85px;display:grid;position:relative;overflow:hidden}
.hero:before{content:"";pointer-events:none;z-index:1;position:absolute;inset:0}
.hero-copy{z-index:3;align-self:center;max-width:760px;position:relative}
.hero-heading,.hero-support{position:relative}
.hero-heading{transform:translate(calc(var(--layout-title-base-x) + var(--layout-title-x)),calc(var(--layout-title-base-y) + var(--layout-title-y)))}
.eyebrow{color:var(--forest);font-family:var(--font-label);letter-spacing:.13em;text-transform:uppercase;margin:0 0 32px;font-size:.69rem}
.eyebrow b{color:var(--mineral);padding:0 5px;font-weight:400}
.eyebrow-primary,.eyebrow-secondary{white-space:nowrap}
.hero h1{color:var(--forest-dark);font-family:var(--font-display);letter-spacing:-.065em;max-width:880px;margin:0;font-size:clamp(4.4rem,7.1vw,8rem);font-weight:400;line-height:.9}
.hero h1 em{color:var(--verdigris);font-weight:400}
.hero-intro{color:#53615c;max-width:590px;margin:28px 0 0;font-size:1.08rem;line-height:1.72}
.hero-intro-break{display:none}
.hero-actions{align-items:center;gap:30px;margin-top:40px;display:flex}
.button{border-radius:100px;justify-content:center;align-items:center;gap:22px;padding:14px 22px;font-size:.85rem;transition:transform .18s,background .18s;display:inline-flex}
.button-primary{background:var(--forest);color:var(--white)}
.button-primary:hover,.button-primary:focus-visible{background:var(--forest-dark);transform:translateY(-2px)}
.text-link{color:var(--forest);padding:10px 0;font-size:.84rem}
.text-link span{color:var(--verdigris);margin-left:5px}
.hero-visual{z-index:0;margin:0;position:absolute;inset:92px 0 0;overflow:hidden}
.hero-visual:after{content:"";pointer-events:none;z-index:1;background:linear-gradient(90deg,#f4f3edfa 0%,#f4f3edeb 34%,#f4f3ed8c 49%,#0000 68%),linear-gradient(#0000 78%,#f4f3edb3);position:absolute;inset:0}
.hero-visual>img{object-fit:cover;object-position:center;z-index:0;width:100%;height:100%;display:block;position:relative}
.hero-web{aspect-ratio:1;opacity:.78;z-index:2;width:31vw;min-width:300px;max-width:390px;transform:translate(calc(var(--layout-orbit-base-x) + var(--layout-orbit-x)),calc(var(--layout-orbit-base-y) + var(--layout-orbit-y)));position:absolute;bottom:-5%;left:54%;right:auto}
.hero-web:before{content:"";background:radial-gradient(circle,#ffffffa3,#c3cbc81c 33%,#0000 68%);border-radius:50%;position:absolute;inset:12%}
.orbit{border:1px solid #74817c6b;border-radius:50%;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);box-shadow:inset 1px 1px #ffffffc2,0 0 30px #c3cbc81f}
.orbit:after{background:linear-gradient(135deg,var(--silver-light),var(--mineral));border:2px solid var(--ivory);content:"";border-radius:50%;width:12px;height:12px;position:absolute;top:10%;right:11%}
.orbit-outer{width:82%;height:82%;animation:42s linear infinite orbit-clockwise}
.orbit-inner{border-color:#4f9a8357;width:53%;height:53%;animation:31s linear infinite orbit-counter}
.orbit-inner:after{background:var(--verdigris);top:auto;bottom:4%;right:19%}
.web-line{background:linear-gradient(90deg,#0000,#4f9a834d,#f7f8f6e6,#74817c5c,#0000);width:80%;height:1px;position:absolute;top:50%;left:10%;transform:rotate(-22deg)}
.line-two{transform:rotate(41deg)}
.web-core{z-index:3;background:linear-gradient(145deg,#ffffffd1,#c3cbc84d 48%,#f4f3edd1 70%);border:1px solid #ffffffc2;border-radius:50%;flex-direction:column;justify-content:center;align-items:center;width:150px;height:150px;animation:7s ease-in-out infinite core-breathe;display:flex;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);box-shadow:0 30px 80px #163f3621,inset 1px 1px #fffffff5,inset -1px -1px #74817c52}
.web-core span{color:#5f716a;font-family:var(--font-label);letter-spacing:.11em;text-transform:uppercase;margin-top:10px;font-size:.74rem;font-weight:600}
.web-core strong{color:var(--forest);font-family:var(--font-display);font-size:1.48rem;font-weight:400;line-height:1}
.web-core strong i{color:var(--verdigris);font-size:.95rem;font-weight:400}
.orbiting-label{pointer-events:none;z-index:4;border-radius:50%;position:absolute}
.orbiting-label>span{color:var(--forest);font-family:var(--font-label);letter-spacing:.11em;text-transform:uppercase;white-space:nowrap;background:#f4f3edcc;border:1px solid #74817c2e;border-radius:100px;align-items:center;gap:8px;padding:8px 12px;font-size:.72rem;font-weight:600;display:flex;position:absolute;top:50%;right:-39px}
.orbiting-label>span i{background:linear-gradient(145deg,var(--silver-bright),var(--silver-deep));border:1px solid var(--white);border-radius:50%;width:8px;height:8px;box-shadow:0 0 0 4px #c3cbc833}
.orbiting-connect{animation:42s linear -8s infinite label-orbit-clockwise;inset:9%}
.orbiting-connect>span{animation:42s linear -8s infinite label-upright-counter}
.orbiting-protect{animation:31s linear -3s infinite label-orbit-counter;inset:23.5%}
.orbiting-protect>span{animation:31s linear -3s infinite label-upright-clockwise}
.orbiting-protect>span i{background:var(--verdigris)}
.signal{background:linear-gradient(145deg,var(--silver-bright),var(--silver-deep));border:2px solid var(--ivory);border-radius:50%;width:10px;height:10px;position:absolute;box-shadow:0 0 12px #87938f73}
.signal-one{animation:6.5s ease-in-out infinite node-float-one;top:18%;left:27%}
.signal-two{background:var(--verdigris);animation:8s ease-in-out infinite node-float-two;top:55%;right:22%}
.signal-three{animation:7.2s ease-in-out -2s infinite node-float-one;bottom:8%;left:40%}
.signal-four{background:var(--living);animation:8.4s ease-in-out -1s infinite node-float-two;bottom:26%;left:16%}
.signal-five{animation:6.8s ease-in-out -3s infinite node-float-one;top:18%;right:9%}
.signal-six{background:var(--verdigris);animation:7.7s ease-in-out -4s infinite node-float-two;bottom:9%;right:15%}
@keyframes orbit-clockwise{to{transform:translate(-50%,-50%)rotate(360deg)}}
@keyframes orbit-counter{to{transform:translate(-50%,-50%)rotate(-360deg)}}
@keyframes label-orbit-clockwise{to{transform:rotate(360deg)}}
@keyframes label-orbit-counter{to{transform:rotate(-360deg)}}
@keyframes label-upright-counter{0%{transform:translateY(-50%)rotate(0)}to{transform:translateY(-50%)rotate(-360deg)}}
@keyframes label-upright-clockwise{0%{transform:translateY(-50%)rotate(0)}to{transform:translateY(-50%)rotate(360deg)}}
@keyframes core-breathe{0%,to{box-shadow:0 30px 80px #163f3621,inset 1px 1px #fffffff5,inset -1px -1px #74817c52}50%{box-shadow:0 30px 95px #4f9a833d,0 0 0 8px #c3cbc814,inset 1px 1px #fffffff5,inset -1px -1px #74817c52}}
@keyframes node-float-one{0%,to{transform:translate(0)}50%{transform:translate(8px,-7px)}}
@keyframes node-float-two{0%,to{transform:translate(0)}50%{transform:translate(-7px,8px)}}
.hero-note{z-index:2;align-items:flex-end;gap:14px;display:flex;position:absolute;bottom:40px;left:7vw}
.note-line{background:linear-gradient(90deg,var(--mineral),transparent);width:38px;height:1px;margin-bottom:5px}
.hero-note p{font-family:var(--font-label);letter-spacing:.09em;text-transform:uppercase;margin:0;font-size:.61rem;line-height:1.6}
.hero-note strong,.hero-note span{font-weight:400;display:block}
.hero-note strong{color:var(--forest)}
.hero-note span{color:var(--mineral)}
.hero-note-mobile{display:none}

/* ---- Current work ---- */
.work-intro{background:var(--forest-dark);color:var(--white);grid-template-columns:.36fr 1fr;gap:50px;padding:110px 8vw 120px;display:grid}
.section-label{color:var(--seafoam);font-family:var(--font-label);letter-spacing:.16em;text-transform:uppercase;margin:8px 0 0;font-size:.68rem}
.eyebrow,.hero-note p,.section-label,.current-area>span,.current-work-visual figcaption,.common-thread span,.project-kicker,.framework-image figcaption,.coming-soon,.principle-list span,.framework-credo>p,.bridge-line,.collaboration-story>div>span,.tool-card>span,.footer-meta,.footer-credit{font-weight:500}
.work-intro h2{font-family:var(--font-display);letter-spacing:-.045em;margin:0;font-size:clamp(2.5rem,4.5vw,5.2rem);font-weight:400;line-height:1}
.work-intro div p{color:#b9c8c2;max-width:540px;margin:28px 0 0;font-size:.95rem;line-height:1.75}
.selected-work{background:var(--forest-dark);padding:0 8vw 120px}
.current-work-card{color:var(--forest-dark);background:linear-gradient(128deg,#f4f3ed 0%,#e6ece7 72%,#d2ddd7 100%);border-radius:4px;padding:62px 54px 0;position:relative;overflow:hidden}
.current-work-card:before{background:linear-gradient(90deg,transparent,var(--silver-deep),var(--silver-bright),var(--silver-deep),transparent);content:"";opacity:.76;height:2px;position:absolute;top:0;left:7%;right:7%}
.current-work-heading{grid-template-columns:.42fr 1fr;gap:28px 7vw;padding-bottom:65px;display:grid}
.current-work-heading .project-kicker{margin-top:10px}
.current-work-heading h3{font-family:var(--font-display);letter-spacing:-.06em;grid-column:2;max-width:850px;margin:0;font-size:clamp(3.2rem,5.7vw,6.5rem);font-weight:400;line-height:.94}
.current-work-heading>p:last-child{color:#596963;grid-column:2;margin:0;font-size:.95rem;line-height:1.75}
.current-areas-ecosystem{border-top:1px solid #163f3633;grid-template-columns:minmax(190px,.78fr) minmax(300px,1.2fr) minmax(190px,.78fr);grid-template-areas:"area-one visual area-two" "area-three visual area-four";display:grid}
.current-area{border-bottom:1px solid #163f3633;min-height:280px;padding:30px 34px 36px}
.current-area:first-child{grid-area:area-one;padding-left:0}
.current-area:nth-child(2){grid-area:area-two;padding-right:0}
.current-area:nth-child(3){grid-area:area-three;padding-left:0}
.current-area:nth-child(4){grid-area:area-four;padding-right:0}
.current-area:nth-child(odd){border-right:1px solid #163f3633}
.current-area:nth-child(2n){border-left:1px solid #163f3633}
.current-area>span{color:var(--verdigris);font-family:var(--font-label);font-size:.59rem}
.current-area h4{color:var(--forest);font-family:var(--font-display);max-width:560px;margin:58px 0 17px;font-size:clamp(1.45rem,2vw,2.35rem);font-weight:400;line-height:1.08}
.current-area p{color:#5d6b66;max-width:540px;margin:0;font-size:.82rem;line-height:1.7}
.current-work-visual{background:var(--forest-dark);grid-area:visual;align-self:stretch;min-height:560px;margin:0;position:relative;overflow:hidden}
.current-work-visual:after{content:"";pointer-events:none;background:linear-gradient(#0d2d2714,#0000 24% 72%,#0d2d2775);position:absolute;inset:0}
.current-work-visual img{object-fit:cover;object-position:center;width:100%;height:100%;display:block}
.current-work-visual figcaption{color:var(--white);font-family:var(--font-label);letter-spacing:.07em;text-shadow:0 2px 10px #0000009e;text-transform:uppercase;z-index:1;align-items:center;gap:14px;font-size:clamp(.68rem,.92vw,.9rem);font-weight:650;display:flex;position:absolute;bottom:26px;left:26px;right:26px}
.current-work-visual figcaption span{white-space:nowrap}
.current-work-visual figcaption i{background:linear-gradient(90deg,#e5e9e7b8,var(--silver-bright));flex:1;min-width:24px;height:2px;position:relative}
.current-work-visual figcaption i:after{border-bottom:5px solid #0000;border-left:8px solid var(--silver-bright);content:"";border-top:5px solid #0000;position:absolute;top:50%;right:-1px;transform:translateY(-50%)}
.common-thread{background:var(--forest);color:var(--white);grid-template-columns:.34fr 1fr;align-items:center;gap:30px;margin:0 -54px;padding:38px 54px;display:grid}
.common-thread span{color:var(--seafoam);font-family:var(--font-label);letter-spacing:.14em;text-transform:uppercase;font-size:.6rem}
.common-thread p{font-family:var(--font-display);margin:0;font-size:clamp(1.55rem,2.6vw,2.8rem);font-weight:400;line-height:1.15}
.project-kicker{color:#687873;font-family:var(--font-label);letter-spacing:.11em;text-transform:uppercase;margin:0 0 17px;font-size:.62rem}

/* ---- Tools (new) ---- */
.tools{background:var(--ivory);padding:120px 8vw 130px}
.tools-intro{grid-template-columns:.36fr 1fr;gap:50px;display:grid}
.tools-intro h2{color:var(--forest-dark);font-family:var(--font-display);letter-spacing:-.05em;margin:0;font-size:clamp(2.8rem,4.8vw,5.4rem);font-weight:400;line-height:.98}
.tools-intro div p{color:#596762;max-width:560px;margin:26px 0 0;font-size:.94rem;line-height:1.8}
.tool-list{grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:24px;margin-top:70px;display:grid}
.tool-card{background:linear-gradient(130deg,#fbfcf9 0%,#e8eee9 100%);border:1px solid #163f3626;border-radius:4px;flex-direction:column;padding:34px 36px 36px;display:flex;position:relative}
.tool-card:before{background:linear-gradient(90deg,transparent,var(--silver-deep),var(--silver-bright),var(--silver-deep),transparent);content:"";opacity:.7;height:2px;position:absolute;top:0;left:7%;right:7%}
.tool-card>span{color:var(--verdigris);font-family:var(--font-label);letter-spacing:.12em;text-transform:uppercase;font-size:.62rem}
.tool-card h3{color:var(--forest-dark);font-family:var(--font-display);letter-spacing:-.045em;margin:26px 0 6px;font-size:clamp(2.2rem,3.2vw,3.4rem);font-weight:400;line-height:1}
.tool-card .tool-tagline{color:var(--verdigris);font-family:var(--font-display);margin:0 0 18px;font-size:1.3rem;font-style:italic}
.tool-card p{color:#596762;max-width:560px;margin:0;font-size:.86rem;line-height:1.75}
.tool-facts{flex-wrap:wrap;gap:7px;margin:24px 0 28px;display:flex}
.tool-facts li{color:#4b5e57;border:1px solid #163f3633;border-radius:100px;padding:7px 10px;font-size:.66rem}
.tool-links{flex-wrap:wrap;align-items:center;gap:14px 28px;margin-top:auto;display:flex}
.tool-link{color:var(--forest);border-bottom:1px solid #163f367a;gap:18px;padding:7px 0;font-size:.82rem;display:inline-flex}
.tool-link span{transition:transform .18s}
.tool-link:hover span{transform:translate(2px,-2px)}
.tool-link-quiet{color:var(--mineral);border-bottom-color:#87938f55;font-size:.74rem}

/* ---- Care & Share ---- */
.care-share{background:linear-gradient(118deg,#f6f4ed,#e8eee8);grid-template-columns:1.05fr .95fr;gap:7vw;padding:130px 8vw;display:grid;overflow:hidden}
.framework-image{place-self:center;width:100%;max-width:720px;margin:0;position:relative}
.framework-image:before{background:linear-gradient(90deg,var(--silver-deep),var(--silver-bright),var(--silver-deep));content:"";opacity:.75;z-index:2;height:1px;position:absolute;top:-1px;left:5%;right:5%}
.framework-image>img{width:100%;height:auto;display:block;box-shadow:0 30px 70px #0d2d2729}
.framework-image figcaption{color:var(--forest);font-family:var(--font-label);letter-spacing:.13em;text-transform:uppercase;margin-top:20px;font-size:clamp(.82rem,1.1vw,1rem);font-weight:650;line-height:1.5}
.care-copy{align-self:center;max-width:700px}
.dark-label{color:var(--forest)}
.coming-soon{color:var(--mineral);font-family:var(--font-label);letter-spacing:.1em;text-transform:uppercase;margin:42px 0 13px;font-size:.61rem}
.care-copy h2{color:var(--forest-dark);font-family:var(--font-display);letter-spacing:-.065em;margin:0;font-size:clamp(4.3rem,7vw,7.8rem);font-weight:400;line-height:.9}
.care-subtitle{color:var(--verdigris);font-family:var(--font-display);margin:23px 0 0;font-size:1.4rem}
.care-description{color:#55635e;max-width:590px;margin:28px 0 0;font-size:.94rem;line-height:1.8}
.principle-list{border-top:1px solid #163f362e;grid-template-columns:repeat(4,1fr);margin-top:48px;display:grid}
.principle-list div{padding:18px 0}
.principle-list span{color:var(--mineral);font-family:var(--font-label);margin-bottom:15px;font-size:.62rem;display:block}
.principle-list strong{color:var(--forest);letter-spacing:.04em;text-transform:uppercase;font-size:.94rem;font-weight:650}
.framework-credo{border-top:1px solid #163f3638;grid-column:1/-1;grid-template-columns:.34fr 1fr;gap:5vw;margin:5px 0 0;padding:66px 0 4px;display:grid}
.framework-credo>p{color:var(--verdigris);font-family:var(--font-label);letter-spacing:.15em;text-transform:uppercase;margin:8px 0 0;font-size:.68rem;font-style:normal}
.framework-credo>div{gap:14px;display:grid}
.framework-credo span{color:#586861;font-family:var(--font-display);letter-spacing:-.035em;font-size:clamp(1.8rem,3.1vw,3.75rem);line-height:1.08;display:block}
.framework-credo strong{color:var(--forest-dark);font-weight:400}

/* ---- Concept bridge ---- */
.concept-bridge{background:var(--forest-dark);color:var(--white);grid-template-columns:1.1fr .65fr;align-items:center;gap:9vw;padding:120px 9vw;display:grid;position:relative;overflow:hidden}
.concept-bridge:before{content:"";background:radial-gradient(circle,#4f9a8330,#0000 67%);width:700px;height:700px;position:absolute;top:-100px;right:-130px}
.concept-copy{z-index:2;max-width:760px;position:relative}
.concept-copy h2{font-family:var(--font-display);letter-spacing:-.055em;margin:48px 0 32px;font-size:clamp(3.2rem,5.6vw,6.6rem);font-weight:400;line-height:.96}
.concept-copy>p:not(.section-label){color:#b8c8c1;max-width:620px;font-size:.94rem;line-height:1.8}
.bridge-line{color:var(--seafoam);font-family:var(--font-label);letter-spacing:.13em;text-transform:uppercase;align-items:center;gap:12px;margin-top:43px;font-size:.59rem;display:flex}
.bridge-line i{background:linear-gradient(90deg,var(--silver-deep),var(--silver-bright));width:36px;height:1px}
.era-visual{z-index:2;border:1px solid #e5e9e738;justify-self:end;width:100%;max-width:430px;margin:0;position:relative;box-shadow:0 40px 95px #00000052}
.era-visual:before{content:"";pointer-events:none;border:1px solid #c3cbc852;position:absolute;inset:14px}
.era-visual img{width:100%;height:auto;display:block}

/* ---- Manifesto / privacy in life / about ---- */
.manifesto{text-align:center;background:#dce7e1;padding:125px 11vw 135px}
.manifesto .section-label{color:var(--forest)}
.manifesto blockquote{color:var(--forest-dark);font-family:var(--font-display);letter-spacing:-.06em;margin:60px auto 45px;font-size:clamp(3.5rem,7.2vw,8.5rem);line-height:.92}
.manifesto blockquote em{color:var(--verdigris);font-weight:400}
.manifesto>p:last-child{color:#586760;max-width:510px;margin:0 auto;font-size:.88rem;line-height:1.75}
.privacy-in-life{background:#edf0ea;grid-template-columns:1.18fr .82fr;align-items:center;gap:7vw;padding:105px 8vw;display:grid}
.privacy-in-life figure{margin:0;position:relative;overflow:visible;box-shadow:0 32px 74px #0d2d2724}
.privacy-in-life img{width:100%;height:auto;display:block}
.privacy-in-life>div{max-width:590px}
.privacy-in-life h2{color:var(--forest-dark);font-family:var(--font-display);letter-spacing:-.055em;margin:42px 0 28px;font-size:clamp(3rem,5vw,5.7rem);font-weight:400;line-height:.96}
.privacy-in-life>div>p:last-child{color:#596762;max-width:520px;margin:0;font-size:.94rem;line-height:1.8}
.collaboration-manifesto{text-align:center;background:#dce7e1;padding:92px 11vw 102px}
.collaboration-manifesto .section-label{color:var(--forest)}
.collaboration-manifesto blockquote{color:var(--forest-dark);font-family:var(--font-display);letter-spacing:-.06em;margin:48px auto 0;font-size:clamp(3.2rem,6.5vw,7.6rem);line-height:.92}
.collaboration-manifesto blockquote em{color:var(--verdigris);font-weight:400}
.about{background:var(--ivory);grid-template-columns:.86fr 1.14fr;gap:9vw;padding:140px 9vw;display:grid}
.about-heading h2{color:var(--forest-dark);font-family:var(--font-display);letter-spacing:-.06em;margin:45px 0 0;font-size:clamp(3.4rem,5.5vw,6.5rem);font-weight:400;line-height:.94}
.about-copy{padding-top:48px}
.about-lead{color:var(--forest);font-family:var(--font-display);font-size:1.85rem!important;line-height:1.38!important}
.about-copy>p{color:#596762;max-width:630px;margin:0 0 29px;font-size:.94rem;line-height:1.8}
.about-tags{border-top:1px solid #163f362b;grid-template-columns:1fr 1fr;margin-top:50px;display:grid}
.about-tags span{color:var(--forest);text-transform:uppercase;border-bottom:1px solid #163f362b;padding:17px 0;font-size:.7rem}

/* ---- People & collaboration ---- */
.people-collaboration{background:#e8ece6;padding:118px 8vw 130px}
.people-intro{grid-template-columns:.72fr 1.45fr .83fr;gap:4vw;display:grid}
.people-intro .section-label{align-self:start;margin-top:9px}
.people-intro h2{color:var(--forest-dark);font-family:var(--font-display);letter-spacing:-.055em;margin:0;font-size:clamp(3rem,5vw,5.8rem);font-weight:400;line-height:.96}
.people-intro>p:not(.section-label){color:#5b6964;max-width:520px;margin:7px 0 0;font-size:.91rem;line-height:1.8}
.people-intro .people-tagline{color:var(--forest);font-family:var(--font-display);margin-top:25px;font-size:1.45rem;line-height:1.35}
.collaboration-stories{max-width:1180px;margin:88px 0 0 auto}
.collaboration-story{background:#fbfcf9b3;border:1px solid #163f3626;grid-template-rows:auto 1fr;display:grid;overflow:visible}
.collaboration-story figure{margin:0;position:relative;overflow:visible}
.collaboration-story figure>img:first-child{object-fit:cover;width:100%;height:100%;transition:transform .5s;display:block}
.collaboration-story:hover figure>img:first-child{transform:scale(1.015)}
.collaboration-story-wide figure{aspect-ratio:16/9}
.collaboration-story>div{padding:34px 36px 38px}
.collaboration-story>div>span{color:var(--verdigris);font-family:var(--font-label);letter-spacing:.12em;text-transform:uppercase;font-size:.62rem}
.collaboration-story h3{color:var(--forest-dark);font-family:var(--font-display);letter-spacing:-.045em;margin:28px 0 18px;font-size:clamp(2rem,3vw,3.45rem);font-weight:400;line-height:1}
.collaboration-story p{color:#596762;max-width:570px;margin:0;font-size:.86rem;line-height:1.75}
.image-word{filter:drop-shadow(3px 5px #08302738)drop-shadow(0 12px 20px #0d2d2724);pointer-events:none;z-index:3;position:absolute;object-fit:contain!important;height:auto!important}
.image-word-care{filter:drop-shadow(4px 5px #e0e8d6d1)drop-shadow(0 12px 20px #0d2d2724);top:-18%;left:64%;transform:translate(-50%)rotate(-3deg);width:56%!important}
.image-word-share{top:-14%;left:73%;transform:translate(-50%);width:48%!important}

/* ---- Contact / closing ---- */
.contact{background:var(--forest-dark);color:var(--white);padding:130px 10vw 120px;position:relative;overflow:hidden}
.contact .section-label{z-index:2;position:relative}
.contact h2{font-family:var(--font-display);letter-spacing:-.06em;z-index:2;max-width:1040px;margin:56px 0 32px;font-size:clamp(3.5rem,6.5vw,7.4rem);font-weight:400;line-height:.92;position:relative}
.contact>p:not(.section-label){color:#aebdb7;z-index:2;max-width:580px;font-size:.91rem;line-height:1.75;position:relative}
.contact-link{background:var(--ivory);color:var(--forest);z-index:2;border-radius:100px;align-items:center;gap:35px;margin-top:38px;padding:15px 22px;font-size:.84rem;transition:transform .18s;display:inline-flex;position:relative}
.contact-link:hover{transform:translateY(-2px)}
.contact-web{border:1px solid #bedbd11f;border-radius:50%;width:570px;height:570px;position:absolute;top:-100px;right:-120px}
.contact-web:before,.contact-web:after{content:"";border:1px solid #bedbd11f;border-radius:50%;position:absolute;inset:82px}
.contact-web:after{inset:174px}
.contact-web i{background:var(--silver);border-radius:50%;width:7px;height:7px;position:absolute}
.contact-web i:first-child{top:230px;left:36px}
.contact-web i:nth-child(2){top:110px;right:65px}
.contact-web i:nth-child(3){bottom:52px;left:250px}
.contact-web i:nth-child(4){top:194px;left:194px}
.closing-visual{background:var(--forest-dark);padding:0}
.closing-visual figure{box-shadow:none;border:0;width:100%;max-width:none;margin:0;position:relative;overflow:hidden}
.closing-visual figure>img:first-child{width:100%;height:auto;display:block}
.closing-brand{mix-blend-mode:multiply;width:31%;height:auto;position:absolute;top:3.5%;left:3.5%}

/* ---- Footer ---- */
footer{color:#aab8b2;font-family:var(--font-label);letter-spacing:.08em;text-transform:uppercase;background:#09241f;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:34px 5vw;min-height:250px;padding:36px 5vw;font-size:.65rem;display:grid}
.footer-slogan{color:#74877e;font-family:var(--font-display);letter-spacing:-.025em;text-transform:none;grid-column:1/-1;margin:0 0 12px;font-size:clamp(1.45rem,2.15vw,2.25rem);font-style:italic;font-weight:400}
.footer-slogan span{white-space:nowrap}
.footer-logo{justify-self:start;width:min(760px,66vw);display:block}
.footer-logo img{width:100%;height:auto;display:block}
.footer-meta{color:#74877e;text-align:right;justify-items:end;gap:16px;margin-top:16px;display:grid}
.footer-meta p{white-space:nowrap;max-width:none;margin:0}
.footer-nav{flex-wrap:wrap;justify-content:flex-end;gap:10px 22px;display:flex}
.footer-nav a{color:#aab8b2;border-bottom:1px solid #aab8b240;padding-bottom:2px}
.footer-nav a:hover,.footer-nav a:focus-visible{color:var(--white)}
.footer-credit{color:#6f8279;border-top:1px solid #a8bbb21f;grid-column:1/-1;margin:4px 0 0;padding-top:20px}

/* ---- Privacy page (new) ---- */
.page-header{background:var(--ivory);border-bottom:1px solid #163f3622;justify-content:space-between;align-items:center;padding:22px 5vw;display:flex}
.page-header .brand-logo{width:160px}
.legal{max-width:760px;margin:0 auto;padding:80px 24px 110px}
.legal h1{color:var(--forest-dark);font-family:var(--font-display);letter-spacing:-.05em;margin:18px 0 10px;font-size:clamp(3rem,6vw,4.6rem);font-weight:400;line-height:1}
.legal .updated{color:var(--mineral);margin:0 0 44px;font-size:.8rem}
.legal h2{color:var(--forest);font-family:var(--font-display);margin:46px 0 12px;font-size:1.9rem;font-weight:400;line-height:1.15}
.legal p,.legal li{color:#46534e;font-size:.93rem;line-height:1.8}
.legal p{margin:0 0 14px}
.legal ul{margin:0 0 14px;padding-left:20px;list-style:disc}
.legal a{color:var(--forest);border-bottom:1px solid #163f3666}
.draft{background:#fff4e5;border:1px solid #e8a33d;color:#6b4a12;border-radius:6px;margin:0 0 30px;padding:12px 16px;font-size:.82rem}
.ph{background:#ffe2b8;color:#8a4b00;border-radius:3px;padding:0 4px;font-weight:500}

/* ---- Responsive ---- */
@media (width<=1050px){.hero{padding-left:6vw;padding-right:3vw}.hero h1{font-size:clamp(4rem,7.8vw,6.6rem)}.hero-web{min-width:280px}.care-share{gap:6vw;padding-left:6vw;padding-right:6vw}.framework-image{max-width:650px}}
@media (width<=800px){:root{--layout-title-base-y:98px;--layout-orbit-base-x:10px;--layout-orbit-base-y:52px}.site-header{grid-template-columns:1fr auto;height:72px;padding:0 24px}.brand{transform:translateY(18px)}.desktop-nav{display:none}.hero{min-height:auto;padding:54px 24px 28px;display:block}.hero-copy{max-width:none;padding-top:calc(66.6667vw + 24px)}.hero-heading{width:47%;position:absolute;top:clamp(22px,5vw,40px);left:0}.hero h1{letter-spacing:-.055em;font-size:clamp(2.2rem,7.9vw,4rem);line-height:1.01}.eyebrow{margin-bottom:clamp(14px,2.5vw,22px);font-size:clamp(.42rem,1.25vw,.56rem);line-height:1.55}.eyebrow-primary,.eyebrow-secondary{display:block}.eyebrow-secondary b:first-child{display:none}.hero-support{flex-direction:column;justify-content:flex-end;min-height:305px;padding:34px 0 4px;display:flex}.hero-intro{order:3;max-width:94%;margin-top:28px;font-size:.96rem}.hero-intro-break{display:block}.hero-actions{order:2;margin-top:0}.hero-actions .text-link{pointer-events:auto;touch-action:manipulation;z-index:10;display:inline-flex;position:absolute;top:2px;left:0}.hero-visual{aspect-ratio:3/2;height:auto;margin:0;position:absolute;inset:54px 0 auto;overflow:visible}.hero-visual:after{background:linear-gradient(90deg,#f4f3ed80,#f4f3ed26 42%,#0000 64%)}.hero-visual>img{object-fit:cover;object-position:center}.hero-web{opacity:.82;width:82%;min-width:0;margin:0;bottom:-53%;left:36%;right:auto}.orbit-outer{width:98%;height:98%}.orbiting-connect{inset:1%}.orbit-inner{width:62%;height:62%}.orbiting-protect{inset:19%}.hero-note-desktop{display:none}.hero-note-mobile{order:1;align-items:center;margin:0 0 22px;display:flex;position:relative;bottom:auto;left:auto}.work-intro{grid-template-columns:1fr;gap:34px;padding:76px 24px 84px}.selected-work{padding:0 24px 84px}.current-work-card{padding-left:30px;padding-right:30px}.current-work-heading{grid-template-columns:1fr}.current-work-heading h3,.current-work-heading>p:last-child{grid-column:1}.current-areas-ecosystem{grid-template-columns:1fr 1fr;grid-template-areas:"area-one area-two" "visual visual" "area-three area-four"}.current-area{min-height:235px}.current-area:first-child,.current-area:nth-child(3){padding-left:0}.current-area:nth-child(2),.current-area:nth-child(4){padding-right:0}.current-area:nth-child(3),.current-area:nth-child(4){border-top:1px solid #163f3633}.current-work-visual{aspect-ratio:4/3;min-height:0}.common-thread{margin-left:-30px;margin-right:-30px;padding-left:30px;padding-right:30px}.tools{padding:90px 24px 100px}.tools-intro{grid-template-columns:1fr;gap:30px}.tool-list{margin-top:50px}.care-share{grid-template-columns:1fr;padding:95px 24px 100px}.framework-image{order:2;max-width:620px}.care-copy{order:1;justify-self:center;width:100%}.framework-credo{order:3;grid-template-columns:1fr;gap:28px;padding-top:52px}.concept-bridge{grid-template-columns:1fr;gap:70px;padding:95px 24px}.era-visual{justify-self:center;max-width:380px}.manifesto{padding:95px 24px 105px}.privacy-in-life{grid-template-columns:1fr;gap:48px;padding:90px 24px 100px}.privacy-in-life figure{order:2}.privacy-in-life>div{order:1}.about{grid-template-columns:1fr;gap:42px;padding:95px 24px}.about-copy{padding-top:0}.people-collaboration{padding:90px 24px 100px}.people-intro{grid-template-columns:1fr;gap:30px}.people-intro .section-label,.people-intro>p:not(.section-label){margin-top:0}.collaboration-stories{margin-top:65px}.contact{padding:100px 24px 95px}.closing-visual{padding:0}footer{grid-template-columns:1fr;gap:25px;padding:42px 24px}.footer-logo{width:min(720px,100%)}.footer-meta{text-align:left;justify-items:start}.footer-nav{justify-content:flex-start}.image-word-care{top:-17%;left:64%}.image-word-share{top:-13%;left:72%}.page-header{padding:18px 24px}}
@media (width<=480px){.site-header{height:66px}.brand-logo{width:158px}.header-action{font-size:.76rem}.hero{padding-top:50px;padding-bottom:20px}.hero-copy{padding-top:calc(66.6667vw + 20px)}.hero-heading{width:48%;top:18px}.eyebrow{margin-bottom:12px;font-size:.41rem;line-height:1.5}.hero h1{font-size:clamp(1.95rem,7.9vw,2.45rem);line-height:.99}.hero-support{min-height:345px;padding:30px 0 4px}.hero-intro{max-width:92%}.hero-actions{flex-direction:column;align-items:flex-start;gap:10px;margin-top:0}.hero-web{width:88%;margin-left:0;bottom:-56%;left:23%}.orbit-inner{width:62%;height:62%}.orbiting-protect{inset:19%}.web-core{width:72px;height:72px}.web-core strong{font-size:.78rem}.web-core span{margin-top:6px;font-size:.4rem}.orbiting-label>span{gap:5px;padding:5px 7px;font-size:.42rem;right:-30px}.orbiting-label>span i{width:6px;height:6px}.work-intro h2{font-size:2.75rem}.current-work-card{padding-top:45px;padding-left:22px;padding-right:22px}.current-work-heading{padding-bottom:50px}.current-work-heading h3{font-size:3.25rem}.current-area,.current-area:first-child,.current-area:nth-child(2),.current-area:nth-child(3),.current-area:nth-child(4){min-height:190px;padding:22px 14px 26px}.current-area:nth-child(odd){border-left:0;border-right:1px solid #163f3633;padding-left:0}.current-area:nth-child(2n){border-left:0;border-right:0;padding-right:0}.current-area h4{margin-top:30px;font-size:1.32rem}.current-area p{font-size:.7rem;line-height:1.55}.current-work-visual{aspect-ratio:1/1.06}.current-work-visual figcaption{letter-spacing:.035em;gap:8px;font-size:.58rem;bottom:16px;left:12px;right:12px}.current-work-visual figcaption i:after{border-top-width:4px;border-bottom-width:4px;border-left-width:7px}.common-thread{grid-template-columns:1fr;gap:15px;margin-left:-22px;margin-right:-22px;padding:31px 22px 34px}.tool-card{padding:28px 22px 30px}.care-share{padding-bottom:44px}.care-copy h2{font-size:4.1rem}.care-subtitle{font-size:1.15rem}.principle-list{grid-template-columns:1fr 1fr}.principle-list strong{font-size:.9rem}.framework-image{width:106%;margin-left:-3%}.framework-image figcaption{letter-spacing:.1em;font-size:.78rem}.framework-credo span{font-size:1.78rem}.concept-copy h2{font-size:3.45rem}.bridge-line{flex-wrap:wrap}.era-visual{max-width:310px}.manifesto blockquote{font-size:3.55rem}.privacy-in-life h2{font-size:3.15rem}.image-word-care{top:-16%;left:64%;width:56%!important}.image-word-share{top:-12%;left:72%;width:48%!important}.about-heading h2{font-size:3.6rem}.about-lead{font-size:1.52rem!important}.about-tags{grid-template-columns:1fr}.people-intro h2{font-size:3.15rem}.people-intro .people-tagline{font-size:1.3rem}.collaboration-story>div{padding:28px 24px 31px}.collaboration-story h3{margin-top:23px;font-size:2.35rem}.contact h2{font-size:3.6rem}.contact-web{width:430px;height:430px;top:-50px;right:-210px}.closing-visual{padding:0}.footer-slogan span{display:block}}
@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,:before,:after{transition-duration:.01ms!important}.orbit,.web-core,.signal,.orbiting-label,.orbiting-label>span{animation:none!important}}

/* LWV v10 dark logo has a baked near-footer background: lighten blends it into the footer */
.footer-logo img{mix-blend-mode:lighten}
/* tagline was overridden by .people-intro>p:not(.section-label) (same bug in the draft) */
.people-intro>p.people-tagline{color:var(--forest);font-family:var(--font-display);margin-top:25px;font-size:1.45rem;line-height:1.35}
@media (width<=480px){.people-intro>p.people-tagline{font-size:1.3rem}}
/* mobile: keep "Discover F-AIMS" in flow so it never sits under the absolutely-positioned title */
@media (width<=800px){.hero-actions{flex-wrap:wrap;gap:12px 24px}.hero-actions .text-link{position:static}}

/* ERA of CARE card and Care/Share wordmarks: rebuilt in CSS (the draft used images not in LWV) */
.era-card{aspect-ratio:1/1.45;background:linear-gradient(160deg,#1d3a30,#12302a);border:1px solid #c3cbc83d;justify-content:center;align-items:center;display:flex;box-shadow:inset 0 0 0 14px #12302a,inset 0 0 0 15px #c3cbc852}
.era-card p{color:#e9ece5;font-family:var(--font-display);letter-spacing:-.02em;text-align:center;margin:0;padding:0 18px;white-space:nowrap;font-size:clamp(1.5rem,2.3vw,2.15rem);line-height:1.1}
.era-card em{color:#a9c8b8;font-style:normal}
.word-overlay{color:#6f8f82;font-family:var(--font-display);font-style:italic;letter-spacing:-.02em;pointer-events:none;z-index:3;background:linear-gradient(170deg,#e9efe9 0%,#9fb5ab 45%,#5f7f73 100%);-webkit-background-clip:text;background-clip:text;-webkit-text-fill-color:transparent;filter:drop-shadow(2px 3px 0 #0d2d2729) drop-shadow(0 10px 18px #0d2d2724);font-size:clamp(3.4rem,8vw,7.5rem);line-height:1;position:absolute}
.word-overlay-care{top:-.5em;left:46%;transform:rotate(-4deg)}
.word-overlay-share{background:linear-gradient(170deg,#8fc2a8 0%,#4f9a83 50%,#2e6b58 100%);-webkit-background-clip:text;background-clip:text;top:-.45em;left:52%}
@media (width<=480px){.word-overlay{font-size:3rem}}

/* ---- Coming soon page (temporary holding page on main) ---- */
.soon-page{background:var(--forest-dark)}
.soon{color:var(--white);text-align:center;flex-direction:column;justify-content:center;align-items:center;min-height:100vh;padding:60px 24px;display:flex;position:relative;overflow:hidden}
.soon .contact-web{top:-140px;right:-160px}
.soon>*:not(.contact-web){z-index:2;position:relative}
.soon-logo{mix-blend-mode:lighten;width:min(520px,86vw);height:auto;margin:0 auto 34px}
.soon h1{font-family:var(--font-display);letter-spacing:-.05em;max-width:900px;margin:34px auto 22px;font-size:clamp(2.6rem,6vw,5.4rem);font-weight:400;line-height:.98}
.soon h1 em{color:var(--verdigris)}
.soon-note{color:#aebdb7;margin:0;font-size:1rem;line-height:1.7}
.soon .contact-link{margin-top:34px}
.soon-footer{color:#6f8279;font-family:var(--font-label);letter-spacing:.08em;text-transform:uppercase;margin:56px 0 0;font-size:.62rem}
