/* Owner-directed light palette. Geometry, copy and interactions remain in the existing layers. */
:root{
 --bg:#fff;--panel:#f1f7fc;--text:#172330;--muted:#46596b;
 --gold:#1868c0;--gold-ink:#14579e;--plum:#48d8e0;--line:#cfdeea;
 --paper:#f3f9fc;--ink:#172330;--glass-edge:#8bb6d866;
 --glass-surface:linear-gradient(135deg,#ffffff80,#dbeefa24 48%,#a6ddf024);
 --glass-highlight:linear-gradient(110deg,transparent 25%,#ffffffb3 48%,transparent 70%);
 color-scheme:light;
}
::selection{background:#b3eaf4;color:#132a43}
body{background:#fff}
.brand-dot{color:#1868c0}
.header.is-fixed{color:#20334b;background:#ffffffcf;border-color:#9bbcd44d;box-shadow:0 12px 35px #17395312}
.header.is-fixed .brand,.header.is-fixed .desktop-nav,.header.is-fixed .menu-toggle{color:#20334b}
.header .desktop-nav a:hover,.header .desktop-nav a[aria-current]{color:#145ba8}
.mobile-nav{background:#fffffff2;color:#20334b}
.hero h1{font-size:clamp(49.28px,4.9896vw,73.92px)}
@media(min-width:851px){.hero .hero-inner{padding-bottom:66px}.hero .hero-photo{bottom:0}}
@media(min-width:1700px){.hero h1{font-size:78.848px}}
@media(min-width:851px) and (max-width:1150px){.hero h1{font-size:54.208px}}
@media(max-width:850px){.hero h1{font-size:36.344px}}
@media(max-width:600px){.hero h1{font-size:clamp(26.4px,7.2688vw,41.888px)}}

/* The group of businesses is the single deep-blue accent section. */
.projects{
 --text:#f4faff;--muted:#c1d6e9;--gold:#8edeea;--line:#38617d;
 --glass-edge:#8db7d14f;--glass-surface:linear-gradient(135deg,#e1f3ff0f,#4da2d905 48%,#4fbae816);
 color:var(--text);position:relative;isolation:isolate;padding-top:80px;
}
.projects:before{content:"";position:absolute;inset:0 calc((100% - 100vw)/2);background:radial-gradient(ellipse at 95% 5%,#1464a64d,transparent 55%),#0b2237;z-index:-1}
.project:hover,.project:focus-within{border-color:#8bcee5a6;background-color:#3985b51a}
.projects .text-link,.projects .excerpt-toggle{color:#9be5f2}
.project-map .map-center{background:linear-gradient(135deg,#ffffffb3,#bfe8f34d);color:#145ba8;border-color:#83b3d8;box-shadow:inset 0 1px 1px #fff}
.project-map .map-nodes a{color:#354e65}
.project-map .map-nodes a:hover{color:#145ba8}
.project-map .map-nodes a:before{background:#1868c0}
.map-rays path{stroke:#5999c5}
.story{--ink:#172330;background:#f3f9fc;color:#172330}
.story p,.story-copy p:first-child,.interests p,.contact p{color:#46596b}
.story-photo figcaption,.gallery-track figcaption,.journey small{color:#536b7c}
.journey>span:not(.glass-icon):not(:last-child):before{background:#6baccb}
.journey>span:not(.glass-icon):not(:last-child):after{border-color:#6baccb}
.interests{background:radial-gradient(ellipse at 2% 40%,#48d8e01c,transparent 60%),#f3f9fc;color:#172330}
.plus{border-color:#83b3d8;background:linear-gradient(135deg,#fff9,#b7e3f344);color:#1868c0}

/* Retain the original bevels and paths; recolor only the SVG materials. */
.glass-icon,.journey>.glass-icon{
 border-color:#86b8d77d;background:linear-gradient(135deg,#ffffffa6,#c6e9f43d 53%,#9dd5e85c);
 box-shadow:inset 0 2px 2px #fff,inset 0 -3px 7px #408ebd2b,0 9px 18px #1b557718;
}
.detailed-icon,.journey>.glass-icon .detailed-icon{filter:drop-shadow(0 4px 3px #19567d30)}
.detailed-icon linearGradient[id$="-glass"] stop:nth-child(1){stop-color:#f0fcff}
.detailed-icon linearGradient[id$="-glass"] stop:nth-child(2){stop-color:#8ddced}
.detailed-icon linearGradient[id$="-glass"] stop:nth-child(3){stop-color:#287ac1}
.detailed-icon linearGradient[id$="-glass"] stop:nth-child(4){stop-color:#a1e7f0}
.detailed-icon linearGradient[id$="-glass"] stop:nth-child(5){stop-color:#175993}
.detailed-icon linearGradient[id$="-edge"] stop:last-child{stop-color:#468ab9}
.detailed-icon>g:first-of-type{fill:#235d85;stroke:#235d85}
.detailed-icon>g:last-of-type{stroke:#eefcff}

/* Light liquid glass: keep the moving contour and travelling reflection. */
.button,.hero .button,.hero .button-quiet,.header:not(.is-fixed) .header-contact,
.footer-invite .button,.button.back-to-top,.button.back-to-top.over-light,.gallery-arrow{
 color:#164e7e;border-color:#77a6c880;
 background:linear-gradient(135deg,#ffffff99,#c5e6f133 50%,#eaf8ff80);
 box-shadow:inset 0 1px 2px #fff,0 6px 18px #194b7012;
 backdrop-filter:blur(14px) saturate(130%);
}
.button:hover,.button:focus-visible,.hero-actions .button-quiet:hover,.footer-invite .button:hover{
 color:#124b7f;border-color:#559cc9;background:linear-gradient(135deg,#ffffffe6,#def3f9a1 50%,#ffffffb3);
}
.button:before,.glass-icon:before,.play:before{background:conic-gradient(from var(--edge-angle),transparent 0deg,#fff 50deg,transparent 105deg,transparent 190deg,#61b9ddc4 240deg,transparent 310deg)}
.activity-tab[aria-selected=true]{border-color:#438bc4;background:#d7eef8;color:#134c7e}
.play{color:#124b7f;border-color:#ffffffe6;background:linear-gradient(135deg,#ffffffd9,#d7eef899 58%,#ffffffb3);box-shadow:inset 0 2px 2px #fff,0 6px 15px #123a5a33}
.media-cover{border-color:#85b5d485;box-shadow:inset 0 1px 0 #fff9}
.media-cover:after{box-shadow:inset 0 1px 1px #fff9}
.quote-section{background:radial-gradient(ellipse at 12% 80%,#9fddf055,transparent 65%),#edf6fc;color:#172330}
.quote-author>span{color:#46596b}
.quote-author img{filter:brightness(0) saturate(100%)}
.has-ending-backdrop:after{background:radial-gradient(ellipse at 10% 65%,#48d8e018,transparent 65%),#fff}
.contact,.has-ending-backdrop .contact{background:transparent;color:#172330}
.footer,.has-ending-backdrop .footer{background:transparent;color:#172330}
.footer:before{background:radial-gradient(ellipse 18% 28% at 100% 100%,#48d8e0 0,#48d8e080 32%,transparent 80%),radial-gradient(ellipse at 100% 115%,#1868c0 0,#5ba9d57a 35%,#91d7ea33 58%,transparent 85%)}
.footer .footer-glass{background:#ffffff21;border-color:#8db5d17a;backdrop-filter:blur(40px)}
.footer-invite>p,.footer .footer-description,.footer nav,.footer-bottom .text-link{color:#20394e}
.footer a:hover{color:#145ba8}
@media(prefers-reduced-motion:reduce){.button:before,.glass-icon:before,.play:before{animation:none}}

/* Recolor the cool floor pigment without rotating skin or neutral clothing. */
.quote-photo img{filter:url(#cool-floor)}

/* v23: brighter upper-right light, opaque map hub, blue accents. */
.hero{background:
 radial-gradient(ellipse 44% 49% at 3% 96%,#48d8e080 0%,#48d8e04d 28%,#48d8e01a 57%,transparent 82%),
 radial-gradient(ellipse 58% 48% at 96% -5%,#a8efffbd 0%,#85ceef66 38%,transparent 80%),
 radial-gradient(ellipse 84% 96% at 90% 25%,#1868c0e6 0%,#247fd3a1 25%,#65abe74d 49%,#b2d8f51a 70%,transparent 84%),#fff}
.project-map .map-center{background:linear-gradient(135deg,#f4fbff,#ceeaf4)}
.projects:before{background:radial-gradient(ellipse at 95% 5%,#1868c070,transparent 65%),#103653}
.projects .excerpt-dots{color:#fff}
.activity .media-cover img,.materials .media-cover img{filter:grayscale(1);transition:filter .4s ease,transform .6s var(--ease)}
.news-item:hover .media-cover img,.news-item:has(:focus-visible) .media-cover img,
.material:hover .media-cover img,.material:focus-within .media-cover img{filter:grayscale(0)}
.footer,.has-ending-backdrop .footer{background:radial-gradient(ellipse 48% 70% at 0% 12%,#48d8e04d,transparent 78%)}
@media(prefers-reduced-motion:reduce){.activity .media-cover img,.materials .media-cover img{transition:none}}

/* v24: full-bleed paint without viewport-width layout overflow. */
.projects:before{inset:0;box-shadow:0 0 0 100vmax #103653;clip-path:inset(0 -100vmax)}
.header.is-fixed{background:#ffffffb3}
.footer,.has-ending-backdrop .footer{background:transparent}
.has-ending-backdrop:after{background:radial-gradient(ellipse 48% 30% at 0% 65%,#48d8e04d,transparent 85%),radial-gradient(ellipse at 10% 65%,#48d8e018,transparent 65%),#fff}
.projects .project-logo{filter:grayscale(1) brightness(1.25) sepia(1) saturate(1.8) hue-rotate(145deg);transition:filter .4s ease}
.projects .project:hover .project-logo,.projects .project:focus-within .project-logo{filter:none}
.activity .media-cover img,.materials .media-cover img{filter:grayscale(1) brightness(1.12) contrast(.78)}
.news-item:hover .media-cover img,.news-item:has(:focus-visible) .media-cover img,
.material:hover .media-cover img,.material:focus-within .media-cover img{filter:none}
@media(prefers-reduced-motion:reduce){.projects .project-logo{transition:none}}

/* v25: selected standing portrait; crop only at the section's lower boundary. */
.quote-photo{left:max(0px,calc((100% - 1440px)/2));right:auto;bottom:0;width:min(53%,660px);height:100%}
.quote-photo img{position:absolute;left:0;bottom:-170px;width:100%;height:auto;max-width:none;filter:none}
@media(min-width:851px) and (max-width:1150px){.quote-photo img{bottom:-140px}}
@media(max-width:850px){
 .quote-photo{position:relative;left:auto;right:auto;bottom:auto;width:min(100%,530px);height:min(125vw,680px);align-self:center}
 .quote-photo img{width:100%;height:auto;bottom:-17vw;left:0}
}

/* Paint the accent background across the section itself, avoiding a seam at its gutter. */
.projects.container{width:100%;max-width:none;padding-inline:max(56px,calc((100% - 1312px)/2));background:radial-gradient(ellipse at 95% 5%,#1868c070,transparent 65%),#103653}
.projects:before{content:none}
.hero h1{font-size:clamp(44.352px,4.49064vw,66.528px)}
@media(min-width:1700px){.hero h1{font-size:70.9632px}}
@media(min-width:851px) and (max-width:1150px){.hero h1{font-size:48.7872px}}
@media(max-width:1150px){.projects.container{padding-inline:32px}}
@media(max-width:850px){.hero h1{font-size:32.7096px}}
@media(max-width:600px){.projects.container{padding-inline:20px}.hero h1{font-size:clamp(23.76px,6.54192vw,37.6992px)}}
