/* Noah Sheriff — 3.9.1. Shared WordPress and static presentation. */
/* About: personal introduction, career and practical work. */
.about-intro{display:grid;grid-template-columns:1.1fr 1fr;gap:4rem;align-items:center;padding-block:4.5rem 3.5rem}
.about-intro-copy{min-width:0}.about-intro h1{font-size:clamp(2.8rem,4.2vw,4.6rem);line-height:1.09;letter-spacing:-.055em;margin-bottom:1.75rem}.about-intro h1 em{color:#587127}.about-intro .lead{font-size:1.15rem;max-width:38rem}.about-intro-note{max-width:37rem;color:var(--muted);font-size:1rem}.about-intro .actions{margin:1.8rem 0}
.about-availability{display:flex;align-items:baseline;gap:.65rem;color:#41592b;font-size:.875rem;margin:0;line-height:1.6}.about-availability>span{width:8px;height:8px;flex:0 0 8px;background:#718d39;border-radius:50%}
.about-profile{overflow:hidden;border:1px solid var(--line);border-radius:22px;background:white;box-shadow:0 14px 40px #1523290c}.about-workspace{position:relative;height:390px;overflow:hidden}.about-workspace>img{width:100%;height:100%;object-fit:cover;object-position:48% center}.about-workspace figcaption{position:absolute;bottom:0;left:0;right:0;padding:4rem 1.5rem 1.5rem;background:linear-gradient(transparent,#152329e8);color:white;font-size:1rem}
.about-profile-caption{padding:1.35rem 1.5rem;display:flex;align-items:center;justify-content:space-between;gap:1rem}.about-signature{display:flex;align-items:center;gap:.8rem}.about-signature>img{width:48px;height:48px;object-fit:contain;border-radius:12px;background:var(--ink);padding:5px}.about-signature strong,.about-signature span{display:block}.about-signature strong{font-size:1.1rem;letter-spacing:-.03em}.about-signature span,.about-location{font-size:.8125rem;color:var(--muted);line-height:1.6}.about-location{text-align:right}
.about-jump{display:flex;align-items:center;gap:.4rem;padding-block:1rem;border-top:1px solid var(--line);border-bottom:1px solid var(--line);overflow-x:auto}.about-jump>span{font-size:.875rem;color:var(--muted);margin-right:auto;white-space:nowrap;padding-right:1.5rem}.about-jump>a{display:flex;align-items:center;min-height:44px;padding:.5rem 1rem;white-space:nowrap;font-size:.875rem;font-weight:650;border-radius:8px}.about-jump>a:hover{background:#e8eecf}
.about-proof{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));padding-block:2rem;gap:1.5rem}.about-proof>div{padding:1rem 0 1rem 1.5rem;border-left:2px solid #c4d394}.about-proof strong{display:block;font-size:clamp(1.8rem,2.5vw,2.65rem);font-weight:600;letter-spacing:-.045em;line-height:1.25;margin-bottom:.45rem}.about-proof span{font-size:.875rem;color:var(--muted)}
.about-section{padding-block:4.75rem;scroll-margin-top:135px}.about-section-heading{display:grid;grid-template-columns:1.1fr 1fr;align-items:end;gap:4rem;margin-bottom:2.5rem}.about-section h2,.about-career-layout h2,.about-bench h2{font-size:clamp(2rem,3.2vw,3.1rem);line-height:1.15}.about-section-heading h2{margin:0}.about-section h2 em,.about-career-intro h2 em,.about-bench h2 em{color:#587127}.about-section-heading>p{max-width:35rem;color:var(--muted);margin:0}
.about-expertise-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:1.25rem}.about-expertise-card{display:flex;flex-direction:column;align-items:flex-start;padding:2rem;border:1px solid var(--line);border-radius:18px;background:#fff;min-width:0}.about-expertise-card:first-child{background:#edf3db;border-color:#c7d4a5}.about-card-number{display:block;color:var(--muted);font-size:.8125rem;font-weight:650;letter-spacing:.03em;margin-bottom:2.25rem}.about-expertise-card h3{font-size:1.55rem;line-height:1.25;letter-spacing:-.035em}.about-expertise-card>p{font-size:1rem;color:var(--muted)}.about-expertise-card .text-link{margin-top:auto;padding-top:1.25rem;font-size:.875rem}.about-tags{display:flex;flex-wrap:wrap;gap:.45rem;list-style:none;padding:0;margin:.3rem 0 1.2rem}.about-tags li{font-size:.8125rem;line-height:1.4;padding:.35rem .6rem;border:1px solid #cbd6d4;border-radius:6px;margin:0;background:#ffffff80;color:#344c57}
.about-career-band{background:#e9eff0;border-block:1px solid #dce4e6;padding-block:5rem;scroll-margin-top:125px}.about-career-layout{display:grid;grid-template-columns:.9fr 1.5fr;gap:5rem;align-items:start}.about-career-intro{position:sticky;top:140px}.about-career-intro>p:not(.eyebrow){color:var(--muted);max-width:26rem}.about-overlap{font-size:.875rem;padding-left:1rem;border-left:3px solid #94a966;margin-top:2rem}.about-career-intro>.text-link{margin-top:.5rem}
.about-career-list{list-style:none;padding:0 0 0 1.75rem;margin:0;border-left:1px solid #b5c5c9}.about-career-list>li{position:relative;background:white;border:1px solid #cfdbdf;border-radius:16px;padding:1.8rem 2rem;margin:0 0 1.25rem}.about-career-list>li:last-child{margin-bottom:0}.about-career-list>li:before{content:"";position:absolute;left:calc(-1.75rem - 6px);top:2.15rem;width:11px;height:11px;border-radius:50%;background:#6c8242;box-shadow:0 0 0 5px #e9eff0}.about-career-list>.about-career-current{background:#f4f8e7;border-color:#c5d79d}
.about-career-date{display:flex;justify-content:space-between;align-items:center;flex-wrap:wrap;gap:.75rem;color:var(--muted);font-size:.8125rem;margin-bottom:1.3rem}.about-current-label{display:inline-block;background:var(--ink);color:var(--yellow);padding:.3rem .7rem;border-radius:99px;font-weight:650}.about-career-list h3{font-size:1.7rem;margin-bottom:.45rem}.about-career-role{font-size:.9375rem;font-weight:650;margin-bottom:1rem}.about-career-list>li>p:not(.about-career-role){color:var(--muted);font-size:.975rem}.about-career-list .about-tags{margin-bottom:.75rem}.about-career-list .text-link{font-size:.875rem;margin-top:.5rem}
.about-foundations-grid{display:grid;grid-template-columns:1.1fr 1fr;gap:1.5rem}.about-education{padding:2.25rem;border:1px solid var(--line);border-radius:18px;background:white}.about-education>.eyebrow{font-size:.8125rem;color:var(--muted)}.about-degrees{list-style:none;padding:0;margin:0}.about-degrees>li{display:grid;grid-template-columns:65px 1fr;gap:1rem;padding:1.25rem 0;border-bottom:1px solid var(--line);margin:0}.about-degrees>li>span{font-size:.8125rem;font-weight:750;color:#57702c;padding-top:.15rem}.about-degrees h3{font-size:1.15rem;letter-spacing:-.025em;line-height:1.35;margin-bottom:.35rem}.about-degrees p{color:var(--muted);font-size:.875rem;margin:0}.about-qualification-note{font-size:.8125rem;color:var(--muted);line-height:1.7;margin:1.5rem 0}.about-education>.text-link{font-size:.875rem}
.about-ai{display:flex;flex-direction:column;align-items:flex-start;padding:2.5rem;border-radius:18px;background:#192c34;color:white}.about-ai-since{font-size:.8125rem;color:#ccdaad;letter-spacing:.03em;margin-bottom:2rem}.about-ai h3{font-size:clamp(2rem,2.8vw,2.8rem);line-height:1.15;letter-spacing:-.04em}.about-ai h3 em{color:var(--yellow)}.about-ai p,.about-ai li{color:#cfdae0;font-size:.975rem}.about-ai ul{padding-left:1.1rem;margin:0 0 1.5rem}.about-ai li{padding-left:.25rem}.about-ai .text-link{color:var(--yellow);margin-top:auto;font-size:.9375rem}.about-ai :focus-visible{outline-color:var(--yellow)}
.about-bench-band{padding-block:4.5rem;background:#eaf0e6;scroll-margin-top:125px}.about-bench{display:grid;grid-template-columns:1fr 1fr;gap:4rem;align-items:center}.about-bench>div>p:not(.eyebrow){color:var(--muted)}.about-bench-photos{display:grid;grid-template-columns:1fr 1fr;gap:1rem;align-items:start}.about-bench-photos figure:nth-child(2){margin-top:3rem}.about-bench-photos img{width:100%;height:310px;object-fit:cover;border-radius:14px}.about-bench-photos figcaption{padding-top:.7rem;font-size:.8125rem;font-weight:650;color:#415551}.about-bench .text-link{font-size:.9375rem}
.about-conversation{display:grid;grid-template-columns:1fr 1fr;gap:5rem}.about-conversation>div>p:not(.eyebrow){max-width:31rem;color:var(--muted)}.about-conversation .button{margin-top:1rem}.about-conversation .faq details:first-child{padding-top:1.4rem}.about-image-note{font-size:.8125rem;color:var(--muted);margin-bottom:2rem}
@media(max-width:1080px){
 .about-intro{gap:2rem;padding-block:3.5rem 2.75rem}.about-intro h1{font-size:3.15rem}.about-workspace{height:380px}.about-profile-caption{padding:1.15rem;flex-wrap:wrap}.about-location{text-align:left}.about-proof{gap:1rem}.about-proof>div{padding-left:1rem}.about-expertise-card{padding:1.5rem}.about-expertise-card h3{font-size:1.35rem}.about-section-heading{gap:2rem}.about-career-layout{gap:2.5rem;grid-template-columns:.85fr 1.4fr}.about-career-list>li{padding:1.5rem}.about-foundations-grid{grid-template-columns:1fr 1fr}.about-education,.about-ai{padding:1.75rem}.about-bench{gap:2.5rem}.about-bench-photos img{height:270px}.about-conversation{gap:3rem}
}
@media(max-width:760px){
 .about-intro{grid-template-columns:1fr;padding-block:2.75rem 2.25rem;gap:2rem}.about-intro h1{font-size:clamp(2.7rem,9.8vw,4rem)}.about-intro .lead{font-size:1.05rem}.about-intro-note{font-size:.95rem}.about-intro .actions{gap:1.25rem;align-items:flex-start}.about-workspace{height:300px}.about-profile-caption{gap:.75rem}.about-location{display:none}.about-signature strong{font-size:1rem}.about-jump{gap:0;padding-block:.55rem}.about-jump>span{display:none}.about-jump>a{padding-inline:.85rem;font-size:.8125rem}.about-proof{grid-template-columns:1fr 1fr;gap:1.4rem 1rem;padding-block:2rem}.about-proof>div{padding:.5rem 0 .5rem .9rem}.about-proof strong{font-size:1.8rem}.about-proof span{font-size:.8125rem}
 .about-section{padding-block:3.25rem;scroll-margin-top:120px}.about-section-heading{grid-template-columns:1fr;gap:1.25rem;margin-bottom:1.75rem}.about-section h2,.about-career-layout h2,.about-bench h2{font-size:2.1rem}.about-expertise-grid{grid-template-columns:1fr;gap:1rem}.about-expertise-card{padding:1.75rem}.about-card-number{margin-bottom:1.4rem}.about-expertise-card h3{font-size:1.6rem}.about-expertise-card h3 br{display:none}
 .about-career-band{padding-block:3.5rem}.about-career-layout{grid-template-columns:1fr;gap:2rem}.about-career-intro{position:static}.about-career-intro>p:not(.eyebrow){max-width:none}.about-overlap{margin-top:1.25rem}.about-career-list{padding-left:1.1rem}.about-career-list>li{padding:1.4rem}.about-career-list>li:before{left:calc(-1.1rem - 6px)}.about-career-list h3{font-size:1.5rem}.about-career-date{font-size:.75rem;gap:.5rem;align-items:flex-start}.about-career-role{font-size:.875rem}
 .about-foundations-grid{grid-template-columns:1fr}.about-education,.about-ai{padding:1.65rem}.about-degrees>li{grid-template-columns:56px 1fr;gap:.75rem}.about-degrees h3{font-size:1.05rem}.about-ai{padding-block:2rem}.about-ai h3{font-size:2.2rem}.about-ai-since{margin-bottom:1.5rem}
 .about-bench-band{padding-block:3.25rem}.about-bench{grid-template-columns:1fr;gap:2rem}.about-bench-photos{gap:.75rem}.about-bench-photos img{height:230px}.about-bench-photos figure:nth-child(2){margin-top:1.5rem}.about-bench-photos figcaption{font-size:.75rem}.about-conversation{grid-template-columns:1fr;gap:2.5rem}.about-conversation .button{width:100%}.about-image-note{font-size:.75rem}
}
:root {
  --ink:#152329; --paper:#f7f9f9; --silver:#e9eef0; --yellow:#d8ee69;
  --cyan:#a4dfe6; --violet:#b9c9ef; --cherry:#e9b49a; --muted:#53646d;
  --line:#d5dfe2; --radius:18px; --max:1280px; --nav:#152329;
}
*{box-sizing:border-box}
html{scroll-behavior:smooth;scroll-padding-top:120px}
body{margin:0;background:var(--paper);color:var(--ink);font-family:ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;font-size:1rem;line-height:1.7;-webkit-font-smoothing:antialiased}
a{color:inherit;text-decoration:none}button,input,textarea,select{font:inherit}button{cursor:pointer}img{display:block;max-width:100%;height:auto}figure{margin:0}
h1,h2,h3,h4,p{margin-top:0}h1,h2,h3,h4{font-weight:650;letter-spacing:-.045em;line-height:1.12}
h1{font-size:clamp(2.6rem,4.7vw,5.25rem);margin-bottom:1.5rem;overflow-wrap:break-word}
h2{font-size:clamp(2rem,3.1vw,3.2rem);margin-bottom:1.25rem}
h3{font-size:1.45rem;letter-spacing:-.025em;margin-bottom:.8rem}h4{font-size:1.1rem}
p{margin-bottom:1.25rem}ul{padding-left:1.2rem}li{margin:.5rem 0}
.container{width:min(var(--max),calc(100% - 5rem));margin-inline:auto}
.section{padding-block:5.5rem}.split{display:grid;grid-template-columns:1fr 1fr;gap:5rem}.lead{font-size:clamp(1.05rem,1.35vw,1.2rem);line-height:1.7;max-width:45rem}
.eyebrow,.small-label,.step-no,.tech,.project-category,.project-code{font-size:.875rem}
.eyebrow{text-transform:uppercase;letter-spacing:.12em;font-weight:650;line-height:1.5;margin-bottom:1.4rem}
.muted,.small-label,.tech{color:var(--muted)}.outline{color:#4f6874}.silver,.soft-band{background:var(--silver)}
.yellow{background:var(--yellow)}.violet{background:var(--violet)}.cyan{background:var(--cyan)}.cherry{background:var(--cherry)}
.dark,.dark-band{background:var(--ink);color:#f7f9fa}.dark .outline{color:var(--yellow)}.dark-band .muted,.dark-band .small-label{color:#c5d2d8}
.rule-top{border-top:1px solid var(--line)}em{font-style:normal}h1 em{color:#607a20}.dark h1 em{color:var(--yellow)}
.actions{display:flex;align-items:center;gap:1.5rem;flex-wrap:wrap;margin:2rem 0}
.button{display:inline-flex;justify-content:center;align-items:center;gap:1.6rem;min-height:52px;padding:.9rem 1.3rem;border:1px solid var(--ink);border-radius:10px;background:var(--ink);color:#fff;font-weight:650;line-height:1.4;text-align:center;transition:background .18s,transform .18s}
.button:hover{background:#2b424d;transform:translateY(-2px)}.button.light{background:var(--yellow);border-color:var(--yellow);color:var(--ink)}.button.light:hover{background:#e5f69f}
.text-link{display:inline-flex;align-items:center;gap:.7rem;padding:.35rem 0;border-bottom:1px solid currentColor;font-weight:650;line-height:1.5}.text-link:hover{color:#5d741d}
:focus-visible{outline:3px solid #5377b5;outline-offset:5px}.site-header :focus-visible,.site-footer :focus-visible,.dark :focus-visible,.dark-band :focus-visible{outline-color:var(--yellow)}
.skip-link{position:fixed;top:1rem;left:1rem;z-index:100;padding:1rem;background:var(--yellow);transform:translateY(-200%)}.skip-link:focus{transform:none}
.screen-reader-text,.honeypot{position:absolute!important;width:1px;height:1px;margin:-1px;padding:0;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}

/* A single navigation surface, shared across every page. */
.site-header{position:sticky;top:14px;z-index:40;width:min(1392px,calc(100% - 2.5rem));margin:16px auto 0;background:var(--nav);color:#fff;border:1px solid #34474f;border-radius:16px;box-shadow:0 10px 35px #15232918}
.header-inner{position:relative;display:flex;align-items:center;justify-content:space-between;gap:1.5rem;min-height:86px;padding:12px 24px}
.brand{display:flex;align-items:center;gap:.8rem;flex-shrink:0}.brand-logo{width:58px;height:58px;object-fit:contain;flex:0 0 auto}
.brand-name{font-size:1rem;line-height:1.25;font-weight:750;letter-spacing:.035em}.brand-name small{display:block;font-size:.75rem;font-weight:400;letter-spacing:0;color:#c4d0d5;margin-top:.35rem}
.primary-links{display:flex;align-items:center;gap:.3rem;list-style:none;margin:0;padding:0}.primary-links>li{margin:0;padding:0}
.primary-links>li>a,.services-dropdown>summary{display:flex;align-items:center;gap:.65rem;padding:.8rem .8rem;border-radius:8px;font-size:.875rem;font-weight:550;line-height:1.5;white-space:nowrap}
.primary-links>li>a:hover,.services-dropdown>summary:hover,.services-dropdown[open]>summary{background:#2a3c44}
.primary-links>li>a[aria-current=page],.services-dropdown>summary.current-section{color:var(--yellow)}
.primary-links>.nav-contact>a{background:var(--yellow);color:var(--ink);margin-left:.65rem;padding-inline:1.15rem;font-weight:700}
.primary-links>.nav-contact>a:hover{background:#e5f69f}.primary-links>.nav-contact>a[aria-current=page]{box-shadow:inset 0 0 0 2px #607a20}
.services-dropdown>summary{cursor:pointer;list-style:none}.services-dropdown>summary::-webkit-details-marker{display:none}
.chevron{width:7px;height:7px;border-right:1.5px solid currentColor;border-bottom:1.5px solid currentColor;transform:rotate(45deg);margin-top:-4px;transition:transform .2s}.services-dropdown[open] .chevron{transform:rotate(225deg);margin-top:3px}
.menu-panel{position:absolute;top:calc(100% + 12px);left:0;right:0;display:grid;grid-template-columns:240px 1fr;background:#fff;color:var(--ink);border:1px solid var(--line);border-radius:16px;padding:1.75rem;box-shadow:0 20px 45px #1523292b;overflow:hidden}
.menu-intro{padding:1rem 1.75rem 1rem .25rem;border-right:1px solid var(--line)}.menu-intro .eyebrow{display:block;color:var(--muted);font-size:.75rem;margin-bottom:1rem}
.menu-intro strong{display:block;font-size:1.55rem;line-height:1.2;letter-spacing:-.04em}.menu-intro p{font-size:.875rem;color:var(--muted);line-height:1.6;margin:1rem 0 0}
.menu-services{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:.8rem;padding-left:1.5rem}
.menu-service{display:flex;flex-direction:column;align-items:flex-start;padding:1rem;gap:.6rem;border-radius:10px;transition:background .2s}.menu-service:hover{background:#f0f4f2}
.service-icon{display:grid;place-items:center;min-width:40px;height:40px;border-radius:10px;background:var(--yellow);font-size:.875rem;font-weight:750;margin-bottom:.5rem}
.menu-service:nth-child(2) .service-icon{background:var(--cyan)}.menu-service:nth-child(3) .service-icon{background:#ecd0bc}
.menu-service strong{font-size:1rem;line-height:1.4}.menu-service>span:not(.service-icon){font-size:.875rem;line-height:1.5;color:var(--muted)}.menu-service small{font-size:.75rem;color:var(--muted)}
.menu-bottom{grid-column:1/-1;border-top:1px solid var(--line);margin-top:1.4rem;padding-top:1.15rem;display:flex;align-items:center;justify-content:space-between;gap:1rem;font-size:.875rem}.menu-bottom>span{color:var(--muted)}.menu-bottom a{font-weight:650}
.menu-toggle{display:none;align-items:center;gap:.75rem;border:1px solid #667983;border-radius:8px;background:transparent;color:white;min-height:46px;padding:.6rem .9rem}
.menu-bars{width:18px;height:12px;border-top:1.5px solid currentColor;border-bottom:1.5px solid currentColor;position:relative}.menu-bars:after{content:"";position:absolute;left:0;right:0;top:4px;border-top:1.5px solid currentColor}
.menu-toggle[aria-expanded=true] .menu-bars{border-bottom:0;transform:rotate(45deg);height:1px}.menu-toggle[aria-expanded=true] .menu-bars:after{top:-1px;transform:rotate(90deg)}
.admin-bar .site-header{top:46px}

/* Homepage: restrained copy, large editorial image, three clear services. */
.studio-hero{padding:4rem 0 4.5rem}
.studio-grid{display:grid;grid-template-columns:1fr 1fr;gap:4rem;align-items:center}
.studio-hero h1{font-size:clamp(2.9rem,4.5vw,5.1rem);line-height:1.07;letter-spacing:-.055em;margin-bottom:1.75rem}
.studio-hero .eyebrow{color:#4b626d}.studio-hero .lead{color:var(--muted);max-width:36rem}
.hero-location{font-size:.875rem;color:var(--muted);margin:0}.studio-photo{position:relative;border-radius:22px;overflow:hidden;background:#1b2a31;align-self:stretch;min-height:480px}
.studio-photo>img{width:100%;height:100%;position:absolute;inset:0;object-fit:cover;object-position:50% center}
.studio-photo figcaption{position:absolute;bottom:0;left:0;right:0;display:grid;gap:.8rem;padding:6rem 2rem 2rem;background:linear-gradient(transparent,#101d25f5);color:white}
.studio-photo figcaption>span{font-size:.875rem;color:#d4e0e4}.studio-photo figcaption>span:first-child{font-size:.75rem;letter-spacing:.12em;color:var(--yellow)}.studio-photo strong{font-size:1.75rem;line-height:1.2;max-width:18rem;letter-spacing:-.035em}
.service-gateway{padding:1.5rem 0 4rem}.section-head{display:flex;justify-content:space-between;align-items:flex-end;gap:2rem;margin-bottom:2.5rem}.section-head h2{margin:0}.section-aside{max-width:25rem;margin:0;color:var(--muted)}.section-head .text-link{flex-shrink:0}
.service-tiles{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:1.5rem}
.service-tile{display:flex;flex-direction:column;overflow:hidden;border:1px solid var(--line);border-radius:var(--radius);background:white;transition:transform .2s,box-shadow .2s}
.service-tile:hover{transform:translateY(-5px);box-shadow:0 16px 35px #15232912}.service-tile>img{width:100%;height:210px;object-fit:cover}
.tile-content{padding:1.75rem;display:flex;flex-direction:column;align-items:flex-start;flex:1;position:relative}
.tile-top{display:flex;justify-content:space-between;width:100%;gap:1rem}.tile-content>span:first-child,.tile-top{font-size:.75rem;font-weight:700;letter-spacing:.06em;color:var(--muted)}
.service-tile h3{font-size:1.9rem;line-height:1.12;margin:1.1rem 0}.service-tile p{color:var(--muted);line-height:1.65;font-size:.975rem;flex:1}.tile-link{font-size:.875rem;font-weight:700;border-bottom:1px solid #8a9c53;padding-bottom:.35rem}
.software-tile .tile-content{background:#f2f6e6}.photo-tile:nth-child(2) .tile-content{background:#edf7f8}.photo-tile:nth-child(3) .tile-content{background:#faf3ee}
.credentials{padding:1.8rem 0 2rem;border-top:1px solid var(--line);border-bottom:1px solid var(--line)}
.credentials>p{font-size:.75rem;letter-spacing:.1em;text-transform:uppercase;color:var(--muted);margin-bottom:1.1rem}
.credentials>div{display:flex;justify-content:space-between;align-items:center;gap:2rem;flex-wrap:wrap}.credentials strong{font-size:1.35rem;letter-spacing:-.04em}

/* Route introductions and project pages. */
.page-hero{padding:4rem 0;background:transparent;border-bottom:1px solid var(--line)}
.page-hero.yellow,.page-hero.violet,.page-hero.cyan,.page-hero.cherry,.page-hero.silver{background:transparent}
.page-hero.dark{margin-top:1.5rem;background:var(--ink)}.page-hero .lead{color:var(--muted)}.page-hero.dark .lead{color:#c9d5db}
.hero-layout{display:grid;grid-template-columns:1.15fr 1fr;gap:4rem;align-items:center}.hero-content{min-width:0}.hero-content h1{font-size:clamp(2.5rem,4vw,4.4rem)}.hero-content .hero-bottom{display:block;margin-top:1.5rem}.hero-content .hero-bottom .button{margin-top:.6rem}.hero-aside .button{margin-top:.5rem}.hero-content .large-label{display:block;font-size:1rem;line-height:1.5;margin-top:1rem}
.page-photo{height:430px;position:relative;overflow:hidden;border-radius:var(--radius);background:var(--ink)}.page-photo img{width:100%;height:100%;object-fit:cover}.page-photo figcaption{position:absolute;bottom:0;left:0;right:0;color:white;font-size:.875rem;padding:4rem 1.5rem 1.5rem;background:linear-gradient(transparent,#152329ed)}
.hero-bottom{display:flex;align-items:center;justify-content:space-between;gap:3rem;margin-top:2rem}.hero-bottom .button{flex-shrink:0}.hero-bottom .lead{margin:0}.large-label{color:var(--yellow);font-size:1.4rem;font-weight:650}
.back-link{display:inline-block;margin-bottom:1.5rem;font-size:.875rem;border-bottom:1px solid currentColor}
.work-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:1.5rem}.work-grid.two{grid-template-columns:repeat(2,minmax(0,1fr))}
.work-card{display:flex;flex-direction:column;min-width:0;background:white;border:1px solid var(--line);border-radius:var(--radius);overflow:hidden;transition:transform .2s,box-shadow .2s}.work-card:hover{transform:translateY(-4px);box-shadow:0 14px 30px #1523290d}
.project-cover{min-height:275px;display:flex;flex-direction:column;justify-content:space-between;gap:2rem;padding:1.75rem;overflow-wrap:anywhere}
.project-cover>strong{font-size:clamp(1.9rem,2.6vw,3rem);line-height:1.08;letter-spacing:-.05em}.project-category,.project-code{text-transform:uppercase;letter-spacing:.06em;font-size:.75rem}.two .project-cover{min-height:310px}
.work-card.yellow .project-cover{background:#dcebb7}.work-card.violet .project-cover{background:#d4dff2}.work-card.cyan .project-cover{background:#c4e8ec}.work-card.cherry .project-cover{background:#efdbc9}
.card-copy{padding:1.6rem;flex:1}.card-copy h3{display:flex;justify-content:space-between;gap:.5rem;font-size:1.15rem;line-height:1.4}.card-copy p{color:var(--muted);font-size:.95rem;margin:0}
.case-layout{display:grid;grid-template-columns:1fr 2.3fr;gap:4rem;align-items:start}.case-meta{position:sticky;top:135px;background:#fff;border:1px solid var(--line);padding:1.5rem;border-radius:var(--radius)}
.case-meta>div{padding:1rem 0;border-bottom:1px solid var(--line)}.case-meta span{display:block;font-size:.875rem;color:var(--muted);margin-bottom:.4rem}.case-meta strong{font-size:1rem}.case-meta .text-link{margin-top:1.25rem;font-size:.875rem}.case-body{min-width:0;max-width:820px}.case-body h3{margin-top:2rem}.case-body li{padding-left:.4rem}.tech-panel{padding:1.75rem;border-left:3px solid #97ae49;background:#edf2e4;border-radius:0 12px 12px 0;margin:2rem 0}.tech-panel h3{margin-top:0}.tech-panel p:last-child{margin:0}.disclaimer{font-size:.8125rem;color:var(--muted);margin-top:2rem}

/* Services, experience, repair and supporting content. */
.dark-band>.split{padding-block:4.5rem}.dark-band .lead{color:#c7d4db}
.link-list a{display:flex;align-items:center;gap:1rem;padding:1.3rem 0;border-bottom:1px solid #51616a}.link-list a:first-child{border-top:1px solid #51616a}.link-list strong{font-size:1.15rem;font-weight:550;flex:1}.link-list span{color:var(--yellow)}.link-list a:hover strong{color:var(--yellow)}
.three-col{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:2.5rem}.three-col>article{min-width:0}.step-no{display:block;letter-spacing:.08em;color:var(--muted);margin-bottom:1.3rem}.plain-card{padding:2rem;border-radius:var(--radius);border:1px solid var(--line);background:#fff}.plain-card p:last-child{margin:0}
.stats{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:1rem;padding-block:2.5rem;border-bottom:1px solid var(--line)}.stats>div{padding:1rem 1.5rem;border-left:1px solid var(--line)}.stats strong{display:block;font-size:2.7rem;letter-spacing:-.06em;line-height:1.25}.stats span{font-size:.875rem;color:var(--muted)}
.sticky-intro{position:sticky;top:135px;align-self:start}.timeline article{position:relative;padding:0 0 2.5rem 2rem;border-left:1px solid var(--line)}.timeline article:before{content:"";position:absolute;left:-6px;top:7px;width:11px;height:11px;border-radius:50%;background:#637b27;border:3px solid var(--paper)}.timeline article:last-child{padding-bottom:0}.timeline .eyebrow{font-size:.75rem;color:var(--muted);margin-bottom:.75rem}.timeline h4{font-size:1rem;margin-bottom:1rem}.timeline h3{margin-bottom:.6rem}.clean-list{list-style:none;padding:0}.clean-list li{margin:0 0 1.5rem}
.service-nav{display:flex;flex-wrap:wrap;gap:.6rem;padding-block:1.75rem;border-bottom:1px solid var(--line)}.service-nav a{font-size:.875rem;line-height:1.4;font-weight:650;min-height:44px;display:flex;align-items:center;padding:.6rem 1rem;border:1px solid var(--line);border-radius:99px;background:white}.service-nav a:hover{background:var(--yellow);border-color:#8da436}
.services-list{display:grid;gap:1.5rem}.services-list article{display:grid;grid-template-columns:44px 1fr 1fr;gap:2rem;background:#fff;border:1px solid var(--line);border-radius:var(--radius);padding:2.5rem;scroll-margin-top:130px}.services-list article>div{min-width:0}.services-list article>div:last-child{padding-top:2.2rem}.services-list h2{font-size:clamp(1.8rem,2.6vw,2.7rem)}.services-list .eyebrow{font-size:.75rem}.service-number{width:42px;height:42px;display:grid;place-items:center;background:var(--yellow);border-radius:12px;font-weight:700}.service-fit{font-size:.95rem;background:#eff3e6;padding:1.1rem;border-radius:10px;margin:1.5rem 0 0}
.process-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:1rem}.process-grid article{border-radius:var(--radius);padding:1.7rem;min-width:0}.process-grid article>span{display:block;margin-bottom:2.5rem;font-size:.875rem}.process-grid h2{font-size:1.7rem}.process-grid p{margin:0;font-size:.95rem}.reading-copy p:last-child{margin-bottom:0}
.faq details{border-bottom:1px solid var(--line);padding:1.4rem 0}.faq details:first-child{border-top:1px solid var(--line)}.faq summary{position:relative;cursor:pointer;list-style:none;font-weight:650;padding-right:2.5rem;line-height:1.5}.faq summary::-webkit-details-marker{display:none}.faq summary:after{content:"+";position:absolute;right:0;top:-.15rem;font-size:1.5rem;font-weight:400}.faq details[open] summary:after{content:"−"}.faq details p{margin:1rem 0 0;color:var(--muted)}.faq .text-link{margin-top:1rem}
.callout{display:flex;justify-content:space-between;align-items:center;gap:2rem;padding:2.5rem 3rem;margin-block:1rem 5rem;border:1px solid #c2cfad;border-radius:var(--radius)}.callout h2{font-size:clamp(1.8rem,2.8vw,2.8rem);margin:0}.callout .eyebrow{margin-bottom:.8rem}.callout p{margin:1rem 0 0}.callout .button{flex-shrink:0}
.repair-jump{display:flex;gap:.8rem;flex-wrap:wrap;margin-top:2rem}.repair-jump a{font-weight:650;border:1px solid #677b85;border-radius:99px;padding:.7rem 1.1rem}.repair-jump a:hover{color:var(--ink);background:var(--yellow)}
.repair-feature{display:grid;grid-template-columns:1fr 1fr;gap:4rem;align-items:center;scroll-margin-top:110px}.repair-feature.reverse figure{order:2}.repair-feature img{width:100%;aspect-ratio:1.05;object-fit:cover;border-radius:var(--radius)}.repair-feature figcaption{font-size:.8125rem;color:var(--muted);padding-top:.8rem}.repair-options{list-style:none;margin:1.5rem 0;padding:0}.repair-options li{padding:.8rem 0;border-top:1px solid var(--line);margin:0}.repair-options strong,.repair-options span{display:block}.repair-options span{font-size:.95rem;color:var(--muted)}

/* Enquiries. */
.contact-layout{display:grid;grid-template-columns:1fr 1.1fr;gap:5rem;padding-block:4rem 5rem;align-items:start}.contact-intro h1{font-size:clamp(3rem,5vw,5.7rem)}.contact-panel{padding:2.5rem;background:#fff;border:1px solid var(--line);border-radius:var(--radius);box-shadow:0 12px 35px #15232908}.contact-panel h2{font-size:1.8rem}.contact-panel>p{color:var(--muted)}
.availability{font-size:.875rem;color:var(--muted);border-left:3px solid #90a64b;padding-left:.8rem}.direct-contact{margin-top:2rem}.direct-contact>.eyebrow{display:block;font-size:.75rem;margin-bottom:.6rem}.direct-contact>a{font-size:clamp(1rem,1.5vw,1.35rem);font-weight:650;border-bottom:1px solid currentColor;overflow-wrap:anywhere}.direct-contact>p{font-size:.875rem;color:var(--muted);margin-top:.8rem}.contact-image{width:100%;height:210px;object-fit:cover;border-radius:var(--radius);margin:2rem 0}.social-links{display:flex;gap:1.5rem;flex-wrap:wrap;font-size:.875rem;margin-top:1.5rem}.social-links a{border-bottom:1px solid currentColor}
.contact-form{display:grid;gap:1.2rem;margin-top:2rem}.form-row{display:grid;grid-template-columns:1fr 1fr;gap:1rem}.contact-form label{display:grid;gap:.5rem;font-size:.875rem;font-weight:650}.contact-form input,.contact-form select,.contact-form textarea{width:100%;min-width:0;padding:.85rem;border:1px solid #98aab3;border-radius:8px;background:#f9fbfc;color:var(--ink);font-size:1rem}.contact-form textarea{resize:vertical;min-height:160px}.form-note{font-size:.875rem;color:var(--muted);margin:0}.contact-form .button{width:100%}.notice-message{padding:1rem;background:var(--yellow);border:1px solid var(--ink);border-radius:8px}.notice-message.error{background:#ffe4dc}
.enquiry-details{min-width:0;display:grid;gap:1rem;margin:.25rem 0;padding:1.2rem;border:1px solid var(--line);border-radius:12px;background:#f4f8fa}.enquiry-details[hidden]{display:none}.enquiry-details legend{padding:0 .4rem;font-weight:750;font-size:1rem}.enquiry-details .form-note{line-height:1.6}

/* Footer and WordPress editorial compatibility. */
.site-footer{background:#152329;color:#f8fafb;padding:4.5rem 0 1.5rem;margin-top:2rem}
.footer-invite{display:flex;align-items:center;justify-content:space-between;gap:2rem;padding-bottom:3.5rem;border-bottom:1px solid #42545e}.footer-invite h2{font-size:clamp(2.3rem,4vw,4rem);margin:0}.footer-invite em{color:var(--yellow)}.footer-invite .eyebrow{color:#bdcdd5;font-size:.75rem}.footer-invite .button{flex-shrink:0}
.footer-grid{display:grid;grid-template-columns:1.5fr 1fr 1fr;gap:4rem;padding-block:3rem}.footer-identity{display:flex;align-items:center;gap:.8rem;margin-bottom:1rem}.footer-identity .brand-logo{width:62px;height:62px}.footer-title{font-size:1.35rem;font-weight:750;letter-spacing:.02em;line-height:1.2}.footer-brand p{font-size:1rem;color:#c7d3d9}.footer-location{font-size:.8125rem;color:#aebfc9}
.footer-nav{display:flex;flex-direction:column;align-items:flex-start;gap:.65rem}.footer-nav h3{font-size:.875rem;font-weight:650;letter-spacing:0;color:var(--yellow);margin-bottom:.65rem}.footer-nav a{font-size:.875rem;color:#dce4e8}.footer-nav a:hover{color:var(--yellow);text-decoration:underline}
.footer-bottom{display:flex;justify-content:space-between;align-items:center;gap:1.5rem;border-top:1px solid #42545e;padding-top:1.5rem;font-size:.8125rem;color:#bacbd4}.footer-bottom .social-links{margin:0;font-size:.8125rem}
.site-content{width:min(900px,calc(100% - 2.5rem));margin:auto;padding-block:4rem}.site-content h1{font-size:clamp(2.4rem,5vw,4.4rem)}.site-content .wp-block-image{margin:2rem 0}.post-list{display:grid;gap:2rem;margin-block:3rem}.post-list article{padding-bottom:2rem;border-bottom:1px solid var(--line)}.post-list h2{font-size:1.6rem}.editor-extension{padding-bottom:4rem}.personal-note{display:grid;grid-template-columns:1.4fr 1fr;gap:1rem 4rem}.personal-note>.eyebrow{grid-column:1/-1}

/* Tablet, mobile and enlarged text. */
@media(max-width:1150px){
  .container{width:calc(100% - 3.5rem)}.header-inner{padding-inline:18px;gap:1rem}.brand-name small{font-size:.7rem}.primary-links>li>a,.services-dropdown>summary{padding-inline:.6rem}
  .studio-grid,.hero-layout{gap:2.5rem}.studio-hero h1{font-size:4rem}.split,.case-layout,.contact-layout,.repair-feature{gap:3rem}.service-tiles,.work-grid{gap:1rem}.tile-content{padding:1.4rem}.service-tile h3{font-size:1.7rem}.services-list article{padding:2rem;gap:1.5rem}.footer-grid{gap:2.5rem}
}
@media(max-width:1080px){
  .header-inner{flex-wrap:wrap;min-height:78px}.brand-name small{font-size:.75rem}.brand-logo{width:52px;height:52px}.site-nav{width:100%}
  .js .menu-toggle{display:flex}.js .site-nav{display:none}.js .site-nav.open{display:block;max-height:calc(100dvh - 125px);overflow-y:auto;overscroll-behavior:contain;padding-bottom:.5rem}
  .primary-links{display:flex;flex-direction:column;align-items:stretch;gap:.2rem;padding-top:.75rem;border-top:1px solid #42545e}.primary-links>li>a,.services-dropdown>summary{padding:1rem;font-size:1rem;white-space:normal}.primary-links>.nav-contact>a{margin:.5rem 0 0;justify-content:center}.primary-links>li>a[aria-current=page]{background:#293d45}
  .menu-panel{position:static;grid-template-columns:1fr;border-radius:10px;margin:.3rem 0 1rem;padding:1rem;box-shadow:none}.menu-intro{display:none}.menu-services{padding:0;gap:.5rem}.menu-service{padding:.75rem}.menu-service strong{font-size:.95rem}.menu-bottom{flex-wrap:wrap;margin-top:.8rem;padding-top:.8rem;font-size:.8125rem}.menu-bottom>span{display:none}
  .studio-photo{min-height:430px}.studio-hero h1{font-size:3.5rem}.page-photo{height:390px}.hero-content h1{font-size:3.25rem}.services-list article{grid-template-columns:40px 1fr}.services-list article>div:last-child{grid-column:2;padding-top:0}
  .process-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.three-col{gap:1.5rem}.contact-layout{gap:2rem}.contact-panel{padding:1.75rem}.form-row{grid-template-columns:1fr}.stats>div{padding-inline:1rem}
}
@media(max-width:760px){
  html{scroll-padding-top:110px}.container{width:calc(100% - 2.5rem)}.site-header{width:calc(100% - 1.5rem);top:8px;margin-top:8px;border-radius:12px}.header-inner{padding:10px 12px;min-height:76px}.brand{gap:.55rem}.brand-name{font-size:.875rem}.brand-name small{font-size:.7rem}.brand-logo{width:48px;height:48px}.menu-toggle{font-size:.875rem;padding:.55rem .7rem}
  .menu-services{grid-template-columns:1fr}.menu-service{display:grid;grid-template-columns:40px 1fr;column-gap:.9rem;row-gap:.25rem;padding:.9rem .7rem}.service-icon{grid-row:1/4;margin:0;align-self:center}.menu-service>span:not(.service-icon),.menu-service small{grid-column:2}.menu-service small{font-size:.75rem}.menu-bottom a{min-height:44px;display:flex;align-items:center}
  .studio-grid,.hero-layout,.split,.contact-layout,.repair-feature,.case-layout,.personal-note{grid-template-columns:1fr;gap:2.25rem}.studio-hero{padding:2.75rem 0 3rem}.studio-hero h1{font-size:clamp(2.7rem,10vw,4.5rem)}.studio-hero .eyebrow{font-size:.75rem}.studio-hero .lead{font-size:1.05rem}.studio-photo{min-height:340px}.studio-photo figcaption{padding:5rem 1.5rem 1.5rem}.studio-photo strong{font-size:1.6rem}.actions{gap:1rem}
  .service-gateway{padding:1rem 0 3rem}.section{padding-block:3.5rem}.section-head{display:block;margin-bottom:1.75rem}.section-head .text-link,.section-head .section-aside,.section-head>.button{margin-top:1.25rem}.section-head h2{font-size:2rem}
  .service-tiles,.work-grid,.work-grid.two,.three-col{grid-template-columns:1fr}.service-tile>img{height:225px}.tile-content{padding:1.75rem}.service-tile h3{font-size:2rem}.credentials>div{display:grid;grid-template-columns:1fr 1fr;gap:1.25rem}.credentials strong{font-size:1.1rem}
  .page-hero{padding:2.75rem 0}.page-hero.dark{margin-top:1rem}.hero-content h1,.page-hero h1{font-size:clamp(2.4rem,9vw,3.6rem)}.page-photo{height:280px}.hero-bottom{flex-direction:column;align-items:flex-start;gap:1.5rem}.hero-content .hero-bottom .button{margin-top:1.5rem}.hero-layout{gap:2rem}
  .project-cover,.two .project-cover{min-height:250px;padding:1.5rem}.project-cover>strong{font-size:2.5rem}.card-copy{padding:1.5rem}.dark-band>.split{padding-block:3.5rem}.link-list strong{font-size:1.1rem}
  .stats{grid-template-columns:1fr 1fr;gap:1.25rem;padding-block:2rem}.stats strong{font-size:2.5rem}.stats span{font-size:.8125rem}.sticky-intro,.case-meta{position:static}.timeline article{padding-left:1.5rem}.plain-card{padding:1.5rem}.case-meta{padding:1rem 1.5rem}.case-meta>div:first-child{padding-top:.5rem}
  .service-nav{gap:.5rem;padding-block:1.25rem}.service-nav a{font-size:.8125rem;padding:.55rem .8rem}.services-list article{grid-template-columns:1fr;gap:1rem;padding:1.5rem}.services-list article>div:last-child{grid-column:auto}.services-list .eyebrow{margin-bottom:.8rem}.services-list h2{font-size:2rem}
  .process-grid{grid-template-columns:1fr 1fr;gap:.75rem}.process-grid article{padding:1.3rem}.process-grid h2{font-size:1.45rem}.process-grid article>span{margin-bottom:1.5rem}
  .callout{flex-direction:column;align-items:flex-start;padding:2rem;margin-bottom:3.5rem}.callout .button{width:100%}.repair-feature.reverse figure{order:0}.repair-feature img{aspect-ratio:1.35}.repair-jump a{width:100%;text-align:center}.repair-feature h2{font-size:2.1rem}
  .contact-layout{padding-block:2.75rem 3.5rem}.contact-intro h1{font-size:3.6rem}.contact-panel{padding:1.4rem}.contact-image{height:190px}.direct-contact>a{font-size:1.05rem}
  .site-footer{padding-top:3rem}.footer-invite{flex-direction:column;align-items:flex-start;padding-bottom:2.5rem}.footer-invite .button{width:100%}.footer-invite h2{font-size:2.7rem}.footer-grid{grid-template-columns:1fr 1fr;gap:2rem 1rem;padding-block:2.5rem}.footer-brand{grid-column:1/-1}.footer-title{font-size:1.2rem}.footer-bottom{flex-wrap:wrap;justify-content:flex-start;gap:1rem 2rem}.footer-bottom>.social-links{margin-left:auto}.footer-bottom>a{display:block;width:100%;padding-top:.5rem}
  .admin-bar .site-header{top:54px}
}
@media(max-width:390px){.brand-name small{display:none}.brand-name{font-size:.8rem}.brand-logo{width:44px;height:44px}.menu-toggle{gap:.5rem}.process-grid{grid-template-columns:1fr}.studio-hero h1{font-size:2.6rem}.footer-grid{grid-template-columns:1fr}.footer-brand{grid-column:auto}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*:before,*:after{transition:none!important;animation:none!important}}
@media print{.site-header,.site-footer,.actions,.callout,.contact-form{display:none}body{background:white;color:black}.container{width:100%}.section,.page-hero{padding-block:1.5rem}.split,.case-layout,.studio-grid,.hero-layout{display:block}.sticky-intro,.case-meta{position:static}.studio-photo,.page-photo{display:none}a{text-decoration:underline}}

/* Selected experience: a featured career story with two supporting contributions. */
.experience-section{padding:5rem 0 4rem;background:#eaf0f2;border-top:1px solid var(--line)}
.experience-heading{display:grid;grid-template-columns:1.15fr 1fr;gap:3rem;align-items:end;margin-bottom:2.5rem}
.experience-heading h2{font-size:clamp(2.3rem,3.8vw,4rem);line-height:1.08;margin:0}
.experience-heading h2 em{color:#536d2b}
.experience-intro{max-width:30rem;justify-self:end;color:var(--muted)}
.experience-intro p{margin-bottom:1rem;font-size:1.05rem}
.experience-intro .text-link{color:var(--ink);font-size:.95rem}
.experience-grid{display:grid;grid-template-columns:1.05fr 1fr;gap:1.25rem}
.experience-card{display:flex;flex-direction:column;min-width:0;border:1px solid #c9d5db;border-radius:20px;padding:2rem;background:#fff;transition:transform .2s,box-shadow .2s,border-color .2s}
.experience-card:hover{transform:translateY(-4px);box-shadow:0 16px 35px #15232915;border-color:#748c96}
.experience-card:focus-visible{outline-offset:5px}
.experience-meta{display:flex;justify-content:space-between;flex-wrap:wrap;gap:.4rem 1rem;font-size:.8125rem;line-height:1.5;letter-spacing:.025em;color:#526873}
.experience-featured{grid-row:span 2;padding:2.5rem;background:#172b33;color:#fff;border-color:#304750}
.experience-featured .experience-meta{color:#c4d4dc}
.experience-brand{font-size:clamp(1.5rem,2.4vw,2.4rem);line-height:1.2;letter-spacing:-.045em;font-weight:750;margin:2.7rem 0 3.5rem}
.experience-brand>span{font-weight:400;color:var(--yellow);margin-inline:.2rem}
.experience-role{font-size:.875rem;font-weight:650;line-height:1.5;margin-bottom:.7rem;color:#455c68}
.experience-featured .experience-role{color:var(--yellow)}
.experience-story{margin-top:auto}
.experience-story h3{font-size:clamp(2.1rem,3vw,3.2rem);line-height:1.12;margin-bottom:1.2rem}
.experience-story>p:last-child{font-size:1.05rem;line-height:1.75;color:#d0dde3;max-width:28rem}
.experience-tags{display:flex;flex-wrap:wrap;gap:.5rem;list-style:none;padding:0;margin:1rem 0 0}
.experience-tags li{margin:0;padding:.35rem .75rem;border:1px solid #c4d2da;border-radius:6px;font-size:.875rem;line-height:1.4;background:#ffffff70;color:#304650}
.experience-featured .experience-tags li{background:#263e48;border-color:#4a626e;color:#ecf3f5}
.experience-link{display:flex;align-items:center;justify-content:space-between;gap:1.25rem;border-top:1px solid #49606a;padding-top:1.5rem;margin-top:2rem;font-size:.95rem;font-weight:650}
.experience-arrow{display:grid;place-items:center;flex:0 0 42px;width:42px;height:42px;border:1px solid #adc1cb;border-radius:50%;font-size:1.35rem;line-height:1;transition:background .2s,transform .2s}
.experience-featured .experience-arrow{background:var(--yellow);border-color:var(--yellow);color:var(--ink)}
.experience-card:hover .experience-arrow{transform:translate(2px,-2px);background:var(--yellow);border-color:#9db63a;color:var(--ink)}
.experience-card-heading{display:flex;align-items:flex-start;gap:1rem;margin:1.5rem 0 .7rem}
.experience-card-heading>div{flex:1;min-width:0}
.experience-card-heading h3{font-size:clamp(1.6rem,2.1vw,2.15rem);line-height:1.17;margin:0;max-width:25rem}
.experience-consulting{border-top:3px solid #819bbe}
.experience-products{background:#e4eec9;border-color:#cad7ab;border-top:3px solid #799b41}
.experience-consulting>p,.experience-products>p{font-size:1rem;color:#455c68;margin:.5rem 0 .25rem;max-width:30rem}
.experience-read{font-size:.875rem;font-weight:650;text-decoration:underline;text-underline-offset:5px;margin-top:1.25rem}
.experience-next{display:flex;justify-content:space-between;align-items:center;gap:2rem;padding:2rem 0 1rem}
.experience-next strong{font-size:1.2rem;font-weight:650;letter-spacing:-.02em}
.experience-next p{margin:.5rem 0 0;color:var(--muted)}
.experience-next .button{flex-shrink:0}
.experience-note{font-size:.8125rem;color:var(--muted);margin:1rem 0 0}
@media(max-width:1080px){
 .experience-section{padding-block:4rem 3rem}.experience-heading{gap:2rem}.experience-card{padding:1.65rem}.experience-featured{padding:2rem}.experience-brand{margin:2.5rem 0 3rem}.experience-card-heading h3{font-size:1.75rem}.experience-next{gap:1.5rem}
}
@media(max-width:760px){
 .experience-section{padding-block:3.5rem 2.5rem}.experience-heading{grid-template-columns:1fr;gap:1.3rem;margin-bottom:2rem}.experience-heading h2{font-size:clamp(2.2rem,8vw,3rem)}.experience-heading .eyebrow{font-size:.8125rem;letter-spacing:.08em}.experience-intro{justify-self:start;max-width:35rem}.experience-intro p{font-size:1rem}.experience-grid{grid-template-columns:1fr;gap:1rem}.experience-featured{grid-row:auto}.experience-card,.experience-featured{padding:1.5rem;border-radius:16px}.experience-brand{font-size:1.8rem;margin:2rem 0 2.5rem}.experience-story h3{font-size:2.25rem}.experience-story>p:last-child{font-size:1rem}.experience-card-heading h3{font-size:1.75rem}.experience-meta{font-size:.8125rem}.experience-arrow{width:40px;height:40px;flex-basis:40px}.experience-next{flex-direction:column;align-items:stretch;text-align:center;padding-top:2rem;gap:1.25rem}.experience-next .button{width:100%}.experience-note{text-align:center}.experience-tags li{font-size:.8125rem}
}
@media(prefers-reduced-motion:reduce){.experience-card:hover,.experience-card:hover .experience-arrow{transform:none}}

/* Selected work: an editorial project index with clear personal contributions. */
.work-intro{display:grid;grid-template-columns:1.2fr 1fr;gap:2.5rem 5rem;padding-block:4.5rem 0;align-items:center}
.work-intro h1{font-size:clamp(3rem,5.3vw,5.6rem);line-height:1.06;letter-spacing:-.055em;margin-bottom:0}.work-intro h1 em{color:#587127}.work-intro-copy{max-width:33rem;justify-self:end}.work-intro-copy .lead{font-size:1.2rem;color:var(--ink);margin-bottom:1rem}.work-intro-copy>p{color:var(--muted);font-size:1rem}
.work-jump{display:flex;gap:.75rem 1.5rem;flex-wrap:wrap;margin-top:1.75rem}.work-jump a{display:inline-flex;align-items:center;gap:.75rem;font-size:.875rem;font-weight:650;min-height:44px;border-bottom:1px solid #aebf84}.work-jump a:hover{color:#536d2b}
.work-context{grid-column:1/-1;display:flex;justify-content:space-between;flex-wrap:wrap;gap:.6rem 2rem;border-block:1px solid var(--line);padding-block:1.3rem;color:var(--muted);font-size:.875rem;margin-top:1.1rem}
.work-section{padding-block:4.5rem 3.75rem;scroll-margin-top:135px}.work-heading{display:grid;grid-template-columns:1.2fr 1fr;gap:4rem;align-items:end;margin-bottom:2.25rem}.work-heading .eyebrow{font-size:.8125rem;color:var(--muted);margin-bottom:1rem}.work-heading h2{font-size:clamp(2rem,3vw,3rem);line-height:1.16;margin:0}.work-heading h2 em{color:#587127}.work-heading>p{color:var(--muted);font-size:1rem;max-width:32rem;margin:0;justify-self:end}
.work-enterprise-grid{display:grid;grid-template-columns:1.08fr 1fr;gap:1.5rem;align-items:stretch}.work-employer{display:flex;flex-direction:column;min-width:0;border-radius:20px;padding:2.5rem;border:1px solid #cdd9df;background:#eaf0f6}.work-dhl{background:#192e37;color:#fff;border-color:#304650}.work-avanade{border-top:4px solid #8ba1c2;padding-top:calc(2.5rem - 3px)}
.work-card-meta{display:flex;justify-content:space-between;flex-wrap:wrap;gap:.4rem 1rem;font-size:.875rem;line-height:1.5;color:var(--muted)}.work-dhl .work-card-meta{color:#c3d1d9}.work-company{font-size:clamp(2rem,3.2vw,3.3rem);font-weight:650;letter-spacing:-.045em;line-height:1.12;margin:2.5rem 0 2.8rem}.work-dhl .work-company{color:var(--yellow)}.work-dhl .work-company>span{color:#f0f5f7;font-weight:400;font-size:.75em}.work-avanade .work-company>span{display:block;font-size:.875rem;letter-spacing:0;color:#536777;font-weight:500;line-height:1.5;margin-top:.45rem}
.work-employer-body{flex:1}.work-role{font-size:.875rem;font-weight:650;color:#536777;margin-bottom:.75rem}.work-dhl .work-role{color:var(--yellow)}.work-employer h3{font-size:clamp(1.85rem,2.4vw,2.6rem);line-height:1.17;letter-spacing:-.035em;margin-bottom:1.25rem}.work-employer-body>p:not(.work-role){font-size:1rem;color:var(--muted)}.work-dhl .work-employer-body>p:not(.work-role){color:#cbd9df}
.work-contributions{margin:1.5rem 0 1.8rem}.work-contributions h4{font-size:.875rem;font-weight:650;letter-spacing:0;margin:0 0 .65rem}.work-contributions ul{padding-left:1.1rem;margin:0;color:#415864;font-size:.9375rem}.work-contributions li{padding-left:.2rem;margin:.5rem 0}.work-dhl .work-contributions ul{color:#d4dfe4}.work-dhl .work-contributions li::marker{color:#bfd96b}
.work-tech{display:flex;flex-wrap:wrap;gap:.5rem;list-style:none;padding:0;margin:0}.work-tech li{font-size:.875rem;line-height:1.4;border:1px solid #c3d0d6;border-radius:6px;background:#ffffff60;padding:.4rem .65rem;margin:0;color:#344e5c}.work-dhl .work-tech li{background:#28414b;border-color:#48616e;color:#e2ecef}
.work-card-link{display:flex;justify-content:space-between;align-items:center;gap:1rem;min-height:58px;border-top:1px solid #bfd0d5;margin-top:1.8rem;padding-top:1.15rem;font-size:.9375rem;font-weight:650;line-height:1.5}.work-link-arrow{display:grid;place-items:center;border:1px solid #9eb1b9;width:42px;height:42px;flex:0 0 42px;border-radius:50%;font-size:1.3rem;transition:background .18s,color .18s,transform .18s}.work-card-link:hover .work-link-arrow{background:var(--yellow);color:var(--ink);border-color:#adc650;transform:translate(2px,-2px)}.work-card-link:hover>span:first-child{text-decoration:underline;text-underline-offset:4px}.work-dhl .work-card-link{border-color:#455f6a}.work-dhl .work-link-arrow{background:var(--yellow);color:var(--ink);border-color:var(--yellow)}.work-dhl :focus-visible,.work-consultancy :focus-visible{outline-color:var(--yellow)}
.work-experience-note{display:flex;justify-content:space-between;align-items:center;gap:2rem;padding-top:1.6rem}.work-experience-note>p{max-width:41rem;font-size:.875rem;color:var(--muted);margin:0}.work-experience-note>.text-link{font-size:.875rem;flex-shrink:0}
.work-independent-band{padding-block:4.5rem;background:#e9efed;border-block:1px solid #d8e2dd;scroll-margin-top:130px}.work-learning{display:grid;grid-template-columns:1fr 1fr;border-radius:20px;overflow:hidden;border:1px solid #ccd8b3;background:#eef4dc}.work-learning-copy{padding:2.5rem;display:flex;flex-direction:column;align-items:stretch}.work-learning-copy h3{font-size:2.5rem;margin-bottom:1.25rem}.work-project-line{font-size:clamp(1.5rem,2.2vw,2.15rem);line-height:1.25;letter-spacing:-.035em;font-weight:550;margin-bottom:1.25rem}.work-learning-copy>p:not(.work-card-meta):not(.work-project-line){font-size:1rem;color:#465b4d}.work-contribution-line{font-size:.9375rem!important;padding-top:.3rem}.work-contribution-line strong{display:block;font-size:.875rem;margin-bottom:.35rem}.work-learning-copy .work-card-link{margin-top:auto;border-color:#becda3;padding-top:1rem}
.work-learning-photo{position:relative;min-height:460px;background:#1c2d35}.work-learning-photo>img{width:100%;height:100%;object-fit:cover;position:absolute;inset:0;object-position:43% center}.work-learning-photo figcaption{position:absolute;bottom:0;left:0;right:0;padding:4rem 2rem 1.5rem;background:linear-gradient(transparent,#152329e8);color:#fff;font-size:.875rem}
.work-initiative-grid{display:grid;grid-template-columns:1fr 1fr;gap:1.5rem;margin-top:1.5rem}.work-recycle{display:flex;flex-direction:column;overflow:hidden;border:1px solid #cbd8d9;border-radius:20px;background:#fff}.work-recycle>figure{height:235px;overflow:hidden}.work-recycle>figure>img{width:100%;height:100%;object-fit:cover;object-position:center 52%}.work-initiative-copy{padding:2rem 2.5rem;display:flex;flex-direction:column;flex:1}.work-initiative-copy h3,.work-consultancy h3{font-size:2.2rem;margin-bottom:1rem}.work-initiative-copy>p:not(.work-card-meta){font-size:1rem;color:var(--muted)}.work-initiative-copy .work-card-link{margin-top:auto}
.work-consultancy{padding:2.5rem;display:flex;flex-direction:column;border:1px solid #315059;border-radius:20px;background:#1b3942;color:#fff}.work-consultancy .work-card-meta{color:#c4d8dc;margin-bottom:2.5rem}.work-consultancy>p:not(.work-card-meta):not(.work-project-line){font-size:1rem;color:#cadbdf}.work-consultancy .work-project-line{color:#dfedaf}.work-consultancy .work-card-link{border-color:#506c75;margin-top:auto}.work-consultancy .work-link-arrow{color:var(--yellow);border-color:#879f9a}
.work-platforms{padding:1.5rem 0 1.75rem;margin:.5rem 0 1.25rem;border-top:1px solid #506c75}.work-platforms h4{font-size:.875rem;line-height:1.6;letter-spacing:0;font-weight:500;color:#ccdadf;margin:0 0 1.5rem}.work-platforms>div{display:grid;grid-template-columns:1fr 1fr;gap:1.5rem}.work-platforms>div>span{font-size:2rem;line-height:1.25;font-weight:600;letter-spacing:-.035em;color:var(--yellow)}.work-platforms>div>span>span{display:block;font-size:1rem;color:#fff;letter-spacing:0;font-weight:400;margin-top:.4rem}.work-platforms>p{font-size:.875rem;color:#c4d8dc;margin:1.5rem 0 0}
.work-portfolio-stack{border-top:1px solid #c8d5ce;margin-top:2rem;padding-top:1.75rem;display:flex;flex-wrap:wrap;align-items:center;gap:1rem 2rem}.work-portfolio-stack>p{margin:0;font-size:.875rem;font-weight:650}.work-portfolio-stack>span{font-size:.8125rem;color:var(--muted)}.work-portfolio-stack .work-tech li{font-size:.8125rem}
.work-notes{padding-top:1.75rem}.work-notes>p{font-size:.8125rem;line-height:1.75;color:var(--muted);max-width:70rem}.work-invitation{display:flex;justify-content:space-between;gap:3rem;align-items:center;margin-block:2.5rem 4.5rem;border:1px solid #c8d6a4;border-radius:20px;background:#e7efcf;padding:3rem}.work-invitation h2{font-size:clamp(2rem,3vw,3rem);line-height:1.15}.work-invitation h2 em{color:#506927}.work-invitation p:not(.eyebrow){color:#4c6051;margin-bottom:0;max-width:38rem}.work-invitation .eyebrow{font-size:.8125rem}.work-invitation-actions{display:flex;flex-direction:column;align-items:center;gap:1rem;flex-shrink:0}.work-invitation-actions .text-link{font-size:.875rem}
@media(max-width:1080px){
 .work-intro{gap:2rem 2.5rem;padding-top:3.5rem}.work-intro h1{font-size:3.7rem}.work-intro-copy .lead{font-size:1.1rem}.work-context{font-size:.8125rem}.work-heading{gap:2rem}.work-enterprise-grid{gap:1.25rem;grid-template-columns:1fr 1fr}.work-employer{padding:1.75rem}.work-avanade{padding-top:calc(1.75rem - 3px)}.work-company{font-size:2.5rem;margin:2rem 0 2.5rem}.work-employer h3{font-size:2rem}.work-card-meta{font-size:.8125rem}.work-card-link{font-size:.875rem}.work-learning-copy,.work-consultancy{padding:1.75rem}.work-learning-copy h3{font-size:2.2rem}.work-project-line{font-size:1.75rem}.work-initiative-copy{padding:1.75rem}.work-experience-note{align-items:flex-start}.work-experience-note>.text-link{flex-shrink:1;min-width:12rem}.work-invitation{padding:2.25rem;gap:2rem}
}
@media(max-width:760px){
 .work-intro{grid-template-columns:1fr;gap:1.5rem;padding-top:2.75rem}.work-intro h1{font-size:clamp(2.6rem,10vw,4.1rem)}.work-intro-copy{max-width:none;justify-self:start}.work-intro-copy .lead{font-size:1.075rem}.work-intro-copy>p{font-size:1rem}.work-jump{gap:.5rem 1.5rem;margin-top:1rem}.work-context{display:grid;grid-template-columns:1fr;gap:.6rem;margin-top:.3rem;padding-block:1.25rem;font-size:.875rem}
 .work-section{padding-block:3.25rem 2.75rem;scroll-margin-top:125px}.work-heading{grid-template-columns:1fr;gap:1.1rem;margin-bottom:1.75rem}.work-heading h2{font-size:2rem}.work-heading>p{justify-self:start;max-width:none}.work-heading .eyebrow{font-size:.8125rem}.work-enterprise-grid{grid-template-columns:1fr;gap:1.25rem}.work-employer{padding:1.6rem;border-radius:16px}.work-avanade{padding-top:calc(1.6rem - 3px)}.work-company{font-size:2.65rem;margin:1.75rem 0 2rem}.work-employer h3{font-size:2rem}.work-card-link{font-size:.875rem;gap:.75rem}.work-link-arrow{width:40px;height:40px;flex-basis:40px}.work-tech li{font-size:.8125rem}.work-experience-note{flex-direction:column;gap:1rem}.work-experience-note>p{font-size:.875rem}
 .work-independent-band{padding-block:3.25rem;scroll-margin-top:125px}.work-learning{grid-template-columns:1fr;border-radius:16px}.work-learning-copy{padding:1.65rem}.work-learning-copy h3{font-size:2.25rem}.work-learning-copy .work-card-link{margin-top:1rem}.work-project-line{font-size:1.8rem}.work-learning-photo{min-height:0;height:290px}.work-learning-photo figcaption{padding:3rem 1.5rem 1.25rem}.work-initiative-grid{grid-template-columns:1fr;gap:1.25rem;margin-top:1.25rem}.work-recycle,.work-consultancy{border-radius:16px}.work-recycle>figure{height:240px}.work-initiative-copy,.work-consultancy{padding:1.65rem}.work-initiative-copy h3,.work-consultancy h3{font-size:2.1rem}.work-initiative-copy .work-card-link{margin-top:1rem}.work-consultancy .work-card-meta{margin-bottom:1.75rem}.work-consultancy .work-card-link{margin-top:.5rem}.work-platforms{padding-block:1.25rem;margin-block:.25rem 1.25rem}.work-platforms>div>span{font-size:1.8rem}.work-portfolio-stack{display:block}.work-portfolio-stack .work-tech{margin-block:1rem}.work-portfolio-stack>span{display:block}
 .work-notes>p{font-size:.8125rem}.work-invitation{flex-direction:column;align-items:stretch;padding:1.75rem;border-radius:16px;gap:1.75rem;margin-block:2rem 3.5rem}.work-invitation h2{font-size:2rem}.work-invitation h2 br{display:none}.work-invitation-actions .button{width:100%}
}
@media(prefers-reduced-motion:reduce){.work-card-link:hover .work-link-arrow{transform:none}}

/* AI engineering: responsibility, workflow and practical examples. */
.ai-approach{padding-block:4.75rem;scroll-margin-top:135px}.ai-section-heading{display:grid;grid-template-columns:1.15fr 1fr;gap:4rem;align-items:end;margin-bottom:2.5rem}.ai-section-heading .eyebrow{color:var(--muted);font-size:.875rem;margin-bottom:1rem}.ai-section-heading h2{font-size:clamp(2rem,3.2vw,3.2rem);line-height:1.15;margin:0}.ai-section-heading h2 em{color:#587127}.ai-section-heading>p{font-size:1.05rem;color:var(--muted);max-width:34rem;justify-self:end;margin:0}
.ai-responsibility{display:grid;grid-template-columns:1fr 1fr;gap:1.25rem}.ai-responsibility article{min-width:0;padding:2.25rem;border-radius:18px;border:1px solid #cbd8ad;background:#eef4de}.ai-panel-label{display:block;font-size:.875rem;color:#4c6630;margin-bottom:1.6rem;font-weight:650}.ai-responsibility h3{font-size:2rem;line-height:1.2;margin-bottom:1rem}.ai-responsibility p{font-size:1rem;color:#475c4e}.ai-task-tags{display:flex;flex-wrap:wrap;gap:.5rem;list-style:none;padding:0;margin:1.5rem 0 0}.ai-task-tags li{font-size:.875rem;line-height:1.5;border:1px solid #becea3;background:#ffffff70;padding:.35rem .7rem;border-radius:6px;margin:0}
.ai-responsibility .ai-ownership{background:#1a323c;border-color:#39525c;color:#fff}.ai-ownership .ai-panel-label{color:var(--yellow)}.ai-ownership p{color:#d0dfe4}.ai-ownership .ai-ownership-note{border-top:1px solid #46606b;padding-top:1.2rem;margin:1.25rem 0 0;color:#d9e6c3;font-size:.9375rem}
.ai-process-heading{display:flex;align-items:center;justify-content:space-between;gap:1.5rem;margin:2.75rem 0 1.5rem}.ai-process-heading h3{font-size:1.45rem;line-height:1.35;margin:0}.ai-process-heading>span{font-size:.875rem;color:var(--muted);white-space:nowrap}.ai-workflow{list-style:none;padding:0;margin:0;display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:1rem}.ai-workflow>li{min-width:0;padding:1.5rem;margin:0;border:1px solid #d1dcdf;border-top:3px solid #95aa5f;border-radius:12px;background:#fff}.ai-step-number{display:grid;place-items:center;width:36px;height:36px;border-radius:50%;background:#eaf0de;color:#435c29;font-size:.875rem;font-weight:650;margin-bottom:1.5rem}.ai-workflow>li>div{display:flex;flex-direction:column}.ai-workflow h3{font-size:1.25rem;line-height:1.3;margin-bottom:.8rem}.ai-workflow p{font-size:1rem;color:var(--muted);margin-bottom:1.25rem}.ai-step-result{display:block;font-size:.875rem;line-height:1.5;color:#455d36;border-top:1px solid #e0e7d8;padding-top:.9rem}
.ai-practice-band{padding-block:4.75rem;background:#e9eff0;border-block:1px solid #d8e2e5;scroll-margin-top:130px}.ai-practice-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:1.25rem}.ai-use-card{display:flex;flex-direction:column;min-width:0;padding:2rem;border:1px solid #cbd9df;border-radius:18px;background:#fff}.ai-use-label{display:inline-block;align-self:flex-start;font-size:.875rem;line-height:1.5;font-weight:650;background:#e7efd5;color:#40582e;border-radius:6px;padding:.35rem .75rem;margin-bottom:1.75rem}.ai-use-card:nth-child(2) .ai-use-label{background:#e0edf5;color:#33566a}.ai-use-card:nth-child(3) .ai-use-label{background:#e4e7f6;color:#465477}.ai-use-card h3{font-size:1.65rem;line-height:1.25;letter-spacing:-.035em;margin-bottom:1rem}.ai-use-card>p{font-size:1rem;color:var(--muted);margin-bottom:1.5rem}.ai-review{border-top:1px solid var(--line);padding-top:1.25rem;margin-top:auto}.ai-review h4{font-size:.875rem;letter-spacing:0;font-weight:650;line-height:1.5;margin-bottom:.65rem;color:#415b31}.ai-review p{font-size:1rem;color:var(--muted);margin:0}
.ai-working-together{display:grid;grid-template-columns:.85fr 1.3fr;gap:4rem;align-items:start;padding-top:3.5rem;margin-top:3rem;border-top:1px solid #c7d6dc}.ai-working-together .eyebrow{font-size:.8125rem;color:var(--muted);margin-bottom:1rem}.ai-working-together h3{font-size:2rem;line-height:1.2}.ai-working-together>div>p:not(.eyebrow){font-size:1rem;color:var(--muted);max-width:28rem}.ai-working-together .text-link{font-size:.9375rem}.ai-questions{display:grid;gap:.85rem;min-width:0}.ai-questions details{background:#fff;border:1px solid #c6d5db;border-radius:12px;overflow:hidden}.ai-questions summary{position:relative;cursor:pointer;list-style:none;font-weight:650;line-height:1.5;font-size:1rem;min-height:64px;padding:1.35rem 4rem 1.35rem 1.5rem}.ai-questions summary::-webkit-details-marker{display:none}.ai-questions summary:after{content:"+";position:absolute;right:1.5rem;top:1.15rem;width:28px;height:28px;display:grid;place-items:center;background:#e9efdd;border-radius:50%;font-size:1.25rem;font-weight:400;color:#435b2d}.ai-questions details[open] summary:after{content:"−"}.ai-questions details[open] summary{background:#f0f5e8}.ai-questions summary:hover{background:#f0f5e8}.ai-questions summary:focus-visible{outline-offset:-5px}.ai-questions details>div{padding:1.4rem 1.5rem;border-top:1px solid #d7e1cd}.ai-questions p{font-size:1rem;color:var(--muted);margin-bottom:1rem}.ai-questions p:last-child{margin-bottom:0}.ai-callout{margin-top:3.5rem}

/* Centred footer menus and labelled, touch-friendly social links. */
.footer-nav{align-items:center;text-align:center;gap:.25rem;min-width:0}.footer-nav h3{font-size:.9375rem}.footer-nav a{display:flex;align-items:center;justify-content:center;min-height:44px;line-height:1.5;padding:.45rem .5rem;max-width:100%;overflow-wrap:anywhere}.footer-socials{display:flex;flex-direction:column;align-items:center;gap:1rem;border-top:1px solid #42545e;padding-block:1.75rem 2rem;text-align:center}.footer-socials>span{font-size:.875rem;font-weight:650;color:#c2d2da}.footer-socials .social-links{margin:0;justify-content:center;gap:.7rem}.social-links .social-profile{display:inline-flex;justify-content:center;align-items:center;gap:1rem;min-height:46px;padding:.65rem 1rem;border:1px solid #aabfc7;border-radius:9px;font-size:.875rem;font-weight:550;line-height:1.5;transition:background .18s,border-color .18s}.social-links .social-profile:hover{background:#e6eed5;border-color:#8ba359;color:#24351e}.footer-socials .social-profile{background:#20353e;border-color:#5a737f;color:#f0f5f7;min-width:126px}.footer-socials .social-profile:hover{background:var(--yellow);border-color:var(--yellow);color:var(--ink)}.footer-bottom>a{display:flex;align-items:center;justify-content:center;min-height:44px}
@media(max-width:1080px){
 .ai-section-heading{gap:2rem}.ai-responsibility article{padding:1.75rem}.ai-responsibility h3{font-size:1.8rem}.ai-workflow{grid-template-columns:repeat(2,minmax(0,1fr))}.ai-workflow>li{padding:1.75rem}.ai-practice-grid{gap:1rem}.ai-use-card{padding:1.5rem}.ai-use-card h3{font-size:1.4rem}.ai-use-card h3 br{display:none}.ai-working-together{gap:2.5rem}.footer-grid{grid-template-columns:1.1fr 1fr 1fr;gap:1.5rem}
}
@media(max-width:760px){
 .ai-page-hero .hero-content h1{font-size:clamp(2rem,7.8vw,3rem);line-height:1.12;letter-spacing:-.045em}.ai-page-hero .hero-bottom{gap:1rem}.ai-page-hero .large-label{font-size:1rem}.ai-page-hero .page-photo{height:250px}.ai-page-hero .lead{font-size:1rem}.ai-approach{padding-block:3rem;scroll-margin-top:120px}.ai-section-heading{grid-template-columns:1fr;gap:1.25rem;margin-bottom:1.75rem}.ai-section-heading h2{font-size:clamp(1.9rem,7.2vw,2.5rem)}.ai-section-heading>p{font-size:1rem;justify-self:start;max-width:none}.ai-section-heading .eyebrow{font-size:.8125rem}.ai-responsibility{grid-template-columns:1fr;gap:1rem}.ai-responsibility article{padding:1.5rem;border-radius:14px}.ai-panel-label{font-size:.875rem;margin-bottom:1.1rem}.ai-responsibility h3{font-size:1.8rem}.ai-task-tags{gap:.4rem}.ai-task-tags li{padding:.35rem .6rem}
 .ai-process-heading{display:block;margin:2.25rem 0 1.25rem}.ai-process-heading h3{font-size:1.35rem}.ai-process-heading>span{display:block;margin-top:.4rem}.ai-workflow{grid-template-columns:1fr;gap:.85rem}.ai-workflow>li{display:grid;grid-template-columns:32px minmax(0,1fr);align-items:start;gap:1rem;padding:1.4rem;border-top-width:1px;border-left:3px solid #95aa5f}.ai-step-number{width:32px;height:32px;margin:0}.ai-workflow h3{font-size:1.25rem;margin-top:.25rem}.ai-workflow p{margin-bottom:1rem}.ai-step-result{font-size:.875rem}
 .ai-practice-band{padding-block:3rem;scroll-margin-top:120px}.ai-practice-grid{grid-template-columns:1fr;gap:1rem}.ai-use-card{padding:1.6rem;border-radius:14px}.ai-use-label{margin-bottom:1.25rem}.ai-use-card h3{font-size:1.65rem}.ai-use-card>p{margin-bottom:1.2rem}.ai-review{padding-top:1rem}.ai-working-together{grid-template-columns:1fr;gap:1.75rem;padding-top:2.5rem;margin-top:2.5rem}.ai-working-together h3{font-size:1.8rem}.ai-working-together h3 br{display:none}.ai-working-together .text-link{font-size:.875rem}.ai-questions summary{padding:1.2rem 3.7rem 1.2rem 1.25rem;font-size:1rem}.ai-questions summary:after{right:1.15rem;top:1.1rem}.ai-questions details>div{padding:1.25rem}.ai-callout{margin-top:2.5rem}
 .site-header .header-inner{gap:.75rem}.site-header .brand{min-width:0;flex-shrink:1}.site-header .brand-name{overflow-wrap:anywhere}.site-header .menu-toggle{flex-shrink:0;min-height:46px}.footer-invite{align-items:center;text-align:center;gap:1.75rem}.footer-invite h2{font-size:clamp(2.1rem,8.4vw,3rem);line-height:1.12}.footer-brand{text-align:center}.footer-identity{justify-content:center}.footer-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:2rem 1rem}.footer-brand{grid-column:1/-1}.footer-nav h3{font-size:.9375rem}.footer-nav a{font-size:.875rem}.footer-location{display:block;line-height:1.6}.footer-socials{padding-block:1.5rem;gap:.85rem}.footer-socials .social-links{gap:.6rem;width:100%}.footer-socials .social-profile{min-width:130px}.footer-bottom{flex-direction:column;justify-content:center;align-items:center;text-align:center;gap:.6rem;padding-top:1.25rem}.footer-bottom>a{width:auto;padding:.4rem .75rem}
}
@media(max-width:390px){.footer-grid{grid-template-columns:1fr}.footer-brand{grid-column:auto}.ai-workflow>li{padding:1.2rem;gap:.75rem}.social-links .social-profile{gap:.7rem}.footer-socials .social-profile{min-width:120px}}

/* Shared phone layout for every portfolio route, including project detail pages. */
@media(max-width:760px){
  #main :is(h1,h2,h3){text-align:center;text-wrap:balance;overflow-wrap:break-word;max-width:100%}
  #main h1{font-size:clamp(2.1rem,8.4vw,3.4rem);line-height:1.12;letter-spacing:-.04em}
  #main h2{font-size:clamp(1.8rem,6.4vw,2.5rem);line-height:1.2}
  #main :is(.eyebrow,.step-no,.about-card-number,.ai-panel-label){display:block;text-align:center;width:100%;line-height:1.6}
  #main :is(.section-head,.experience-heading,.about-section-heading,.work-heading,.ai-section-heading){text-align:center;gap:1.25rem}
  #main :is(.section-head,.experience-heading,.about-section-heading,.work-heading,.ai-section-heading)>div{min-width:0;width:100%}
  #main :is(.section-head .section-aside,.experience-intro,.about-section-heading>p,.work-heading>p,.ai-section-heading>p){width:100%;max-width:none;justify-self:stretch;margin-inline:auto}
  #main :is(.studio-grid>div>.lead,.studio-grid>div>.hero-location,.page-hero .lead,.about-intro-copy>.lead,.about-intro-note,.work-intro-copy,.contact-intro>.lead){text-align:center;margin-inline:auto}
  #main :is(.studio-grid,.hero-layout,.split,.contact-layout,.case-layout,.repair-feature)>*{min-width:0}
  #main :is(.button,.text-link,.wp-block-button__link){display:flex;align-items:center;justify-content:center;width:100%;max-width:100%;min-height:52px;align-self:stretch;flex-shrink:1;padding:.9rem 1rem;gap:.8rem;text-align:center;font-size:1rem;line-height:1.5;white-space:normal;overflow-wrap:anywhere}
  #main .text-link{border:1px solid currentColor;border-radius:10px;font-weight:650}
  #main .text-link:hover{color:inherit;background:#80966b16}
  #main :is(.button,.text-link)>span[aria-hidden]{flex-shrink:0}
  #main .actions{width:100%;flex-direction:column;align-items:stretch;gap:.85rem;margin-block:1.5rem}
  #main :is(.hero-bottom,.callout,.work-invitation){align-items:stretch;text-align:center}
  #main .callout>div{width:100%}
  #main .hero-bottom>.lead{max-width:none;width:100%}
  #main .hero-content .hero-bottom .button{margin-top:0}
  #main .large-label{text-align:center;align-self:center}
  #main .work-invitation-actions{width:100%;align-items:stretch}
  #main .wp-block-buttons{display:flex;flex-direction:column;align-items:stretch}
  #main .wp-block-button{width:100%}
  #main :is(.service-nav,.repair-jump,.work-jump,.about-jump){display:grid;grid-template-columns:minmax(0,1fr);width:100%;gap:.65rem;overflow:visible}
  #main :is(.service-nav,.repair-jump,.work-jump,.about-jump)>a{display:flex;align-items:center;justify-content:center;width:100%;min-height:48px;padding:.75rem 1rem;border:1px solid #9baa83;border-radius:10px;text-align:center;font-size:.9375rem;line-height:1.5;white-space:normal}
  #main .repair-jump>a{border-color:#718590}
  #main .about-jump{width:calc(100% - 2.5rem);padding-block:1rem}
  #main .service-nav{padding-block:1.25rem}
  #main .service-number{margin-inline:auto}
  #main .services-list article{gap:1.25rem}
  #main .services-list h3{font-size:1.35rem;margin-top:.5rem}
  #main :is(.tile-content,.about-expertise-card,.about-ai){align-items:stretch}
  #main :is(.tile-content h3,.about-expertise-card h3,.about-ai h3){width:100%}
  #main :is(.tile-link,.experience-read){display:block;width:100%;text-align:center;padding-block:.65rem;line-height:1.5}
  #main .card-copy h3{justify-content:center;align-items:center}
  #main .experience-card-heading{align-items:center}
  #main .experience-card-heading>div{width:100%}
  #main :is(.experience-role,.experience-brand,.work-company,.work-role,.work-project-line,.about-career-role){text-align:center}
  #main .experience-brand{margin-block:1.75rem 2rem}
  #main .experience-story h3{font-size:2rem}
  #main .experience-tags,#main .work-tech,#main .about-tags,#main .ai-task-tags{justify-content:center}
  #main .credentials{text-align:center}
  #main .credentials>div{align-items:center}
  #main .about-availability{justify-content:center;text-align:center;align-items:center}
  #main .about-profile-caption{justify-content:center}
  #main .about-card-number{margin-bottom:1.25rem}
  #main .about-career-intro>p:not(.eyebrow),#main .about-conversation>div>p:not(.eyebrow){max-width:none}
  #main .about-ai-since{width:100%;text-align:center}
  #main .about-proof{text-align:center}
  #main .about-degrees>li{grid-template-columns:1fr;gap:.5rem;text-align:center}
  #main .about-degrees>li>span{padding-top:0}
  #main .about-bench-photos img{height:210px}
  #main .work-context{justify-items:center;text-align:center}
  #main .work-experience-note{align-items:stretch;text-align:center}
  #main .work-portfolio-stack{text-align:center}
  #main .ai-process-heading{text-align:center}
  #main .ai-workflow>li{grid-template-columns:1fr;padding:1.5rem;gap:1rem;border-left-width:1px;border-top:3px solid #95aa5f}
  #main .ai-step-number{margin-inline:auto}
  #main .ai-workflow h3{margin-top:0}
  #main .ai-step-result{text-align:center}
  #main .ai-use-label{align-self:center}
  #main .contact-intro :is(.availability,.direct-contact){text-align:center}
  #main .availability{border-left:0;border-top:2px solid #90a64b;padding:.9rem 0 0}
  #main .contact-panel>p{text-align:center}
  #main .contact-form :is(input,select,textarea){font-size:1rem}
  #main .contact-form :is(input[type=submit],button[type=submit]){width:100%;min-height:52px}
  #main .case-meta{text-align:center;padding:1.25rem}
  #main .case-body .tech-panel{padding:1.25rem}
  #main .case-body :is(ul,ol){padding-left:1.2rem}
  #main .back-link{display:flex;align-items:center;justify-content:center;min-height:44px;width:100%;margin-bottom:1.25rem;text-align:center}
  #main :is(.page-photo,.studio-photo,.about-workspace){max-width:100%}
  #main figure figcaption{text-align:center}
  #main .studio-photo strong{max-width:none}
  #main .social-links,.site-footer .social-links{flex-direction:column;align-items:stretch;width:100%;gap:.65rem}
  #main .social-profile,.site-footer .social-profile{width:100%;min-height:48px}
  .site-footer .button{width:100%;min-height:52px}
}
@media(max-width:390px){
  #main :is(.callout,.work-invitation,.about-expertise-card,.ai-use-card,.work-employer,.work-learning-copy,.work-initiative-copy,.work-consultancy){padding:1.35rem}
  #main .about-bench-photos{grid-template-columns:1fr;gap:1.25rem}
  #main .about-bench-photos figure:nth-child(2){margin-top:0}
  #main .about-bench-photos img{height:auto;aspect-ratio:1.4;object-fit:cover}
}

/* Supporting pages and essential-only privacy controls. */
.info-hero{padding-block:4.5rem 3.5rem;border-bottom:1px solid var(--line);max-width:var(--max)}.info-hero h1{font-size:clamp(2.7rem,5vw,4.5rem);line-height:1.1;letter-spacing:-.05em;max-width:50rem}.info-hero .lead{max-width:44rem}.info-date{font-size:.875rem;color:var(--muted);margin:1.3rem 0}.info-hero>.button{margin-top:.8rem}
.info-layout{display:grid;grid-template-columns:240px minmax(0,1fr);gap:5rem;padding-block:3.5rem 5rem;align-items:start}.info-index{position:sticky;top:135px;display:flex;flex-direction:column;gap:.25rem;border-left:2px solid #bfd296;padding-left:1.25rem}.info-index>span{font-size:.8rem;font-weight:650;text-transform:uppercase;letter-spacing:.06em;color:var(--muted);margin-bottom:.75rem}.info-index>a{min-height:44px;display:flex;align-items:center;font-size:.9375rem;line-height:1.5;padding:.5rem 0}.info-index>a:hover{color:#49601f;text-decoration:underline}.info-body{max-width:780px;min-width:0}.info-body>section{scroll-margin-top:135px;margin-bottom:3rem}.info-body>section:last-child{margin-bottom:0}.info-body h2{font-size:clamp(1.8rem,2.6vw,2.5rem);line-height:1.2;letter-spacing:-.035em;margin-bottom:1.3rem}.info-body h3{font-size:1.2rem;line-height:1.4;margin:1.5rem 0 .75rem}.info-body p,.info-body li{font-size:1rem;line-height:1.8;color:var(--muted)}.info-body a:not(.button){text-decoration:underline;text-underline-offset:3px;overflow-wrap:anywhere;color:var(--ink)}.info-body ul{padding-left:1.2rem}.info-body li{margin-bottom:.6rem}.info-card{padding:1.8rem 2rem;background:#fff;border:1px solid var(--line);border-radius:16px;margin-block:1.3rem}.info-card h3:first-child{margin-top:0}.info-card p:last-child{margin-bottom:0}.info-note{background:#edf3dd;border-left:3px solid #849e4f;border-radius:0 12px 12px 0;padding:1.5rem 1.75rem;margin-block:1.5rem}.info-note h3{margin-top:0}.info-note p:last-child{margin-bottom:0}.info-badge{display:block;font-size:.75rem;font-weight:650;color:#4e6728;text-transform:uppercase;letter-spacing:.05em}.info-body code{font-size:.875rem;overflow-wrap:anywhere}.info-body .faq{margin-bottom:1.5rem}
.footer-information{display:flex;align-items:center;justify-content:center;flex-wrap:wrap;gap:.25rem 1rem;padding:1.25rem 0 2rem;border-top:1px solid #42545e}.footer-information a{display:inline-flex;align-items:center;justify-content:center;min-height:44px;padding:.5rem .25rem;font-size:.8125rem;text-align:center}.footer-information a:hover{text-decoration:underline}
.cookie-notice{position:fixed;z-index:90;inset:auto 1.25rem 1.25rem;max-width:1120px;margin-inline:auto;display:grid;grid-template-columns:minmax(0,1fr) auto;gap:2rem;align-items:center;padding:1.5rem 1.75rem;background:#fff;color:var(--ink);border:1px solid #b9c9b5;border-radius:16px;box-shadow:0 10px 60px #15232940;max-height:65vh;overflow:auto}.cookie-notice[hidden]{display:none}.cookie-notice .eyebrow{font-size:.7rem;margin-bottom:.4rem;color:#526c2a}.cookie-notice h2{font-size:1.6rem;line-height:1.25;margin-bottom:.5rem;letter-spacing:-.025em}.cookie-notice p{font-size:.875rem;line-height:1.6;margin-bottom:0;max-width:42rem}.cookie-notice p a,.cookie-policy-link a{text-decoration:underline;text-underline-offset:3px}.cookie-actions{display:flex;flex-direction:column;gap:.7rem}.cookie-actions .button{font-family:inherit;font-size:.875rem;min-height:48px;padding:.75rem 1rem;cursor:pointer;transform:none}.cookie-secondary{background:transparent;color:var(--ink);border-color:#809494}.cookie-secondary:hover{background:#edf3dd;color:var(--ink)}
.cookie-dialog{width:min(580px,calc(100% - 2.5rem));max-height:calc(100dvh - 3rem);padding:2rem;border:1px solid #b9c9b5;border-radius:20px;background:#fff;color:var(--ink);box-shadow:0 20px 90px #15232950;overflow:auto;margin:auto}.cookie-dialog:not([open]){display:none}.cookie-dialog::backdrop{background:#152329b3}.cookie-dialog-head{display:flex;align-items:center;justify-content:space-between;gap:1rem;margin-bottom:1rem}.cookie-dialog-head .eyebrow{font-size:.75rem;margin:0;color:#526c2a}.cookie-close{display:grid;place-items:center;flex:0 0 44px;width:44px;height:44px;border:1px solid #b6c7c4;border-radius:50%;background:white;color:var(--ink);font-family:inherit;font-size:1.5rem;line-height:1;cursor:pointer}.cookie-close:hover{background:#edf3dd}.cookie-dialog h2{font-size:2rem;letter-spacing:-.04em;line-height:1.2;margin-bottom:1rem}.cookie-dialog p{font-size:.9rem;line-height:1.65;color:var(--muted)}.cookie-category{display:flex;align-items:start;justify-content:space-between;gap:1rem;padding:1.2rem 0;border-top:1px solid var(--line)}.cookie-category h3{font-size:1rem;line-height:1.5;margin:0 0 .4rem}.cookie-category p{font-size:.8125rem;margin:0}.cookie-state{flex:0 0 auto;font-size:.7rem;line-height:1.5;font-weight:650;border-radius:99px;padding:.3rem .6rem;background:#e7efd6;color:#3d551d;white-space:nowrap}.cookie-state.neutral{background:#e9eff0;color:#455b64}.cookie-saved{padding:.8rem 1rem;background:#f2f5ec;border-radius:8px;font-size:.8125rem!important}.cookie-policy-link{display:flex;gap:.8rem;justify-content:center;flex-wrap:wrap}.cookie-dialog .cookie-actions{margin-top:1rem}.cookie-feedback:empty{display:none}.cookie-feedback{position:fixed;z-index:95;inset:auto 1rem 1rem;margin:0 auto;max-width:36rem;padding:.85rem 1.2rem;background:var(--ink);color:white;border-radius:10px;box-shadow:0 4px 24px #15232935;font-size:.875rem;line-height:1.6;text-align:center}
@media(max-width:900px){.info-layout{grid-template-columns:190px minmax(0,1fr);gap:2.5rem}.cookie-notice{gap:1.2rem}}
@media(max-width:760px){.info-hero{padding-block:2.8rem 2rem;text-align:center}.info-hero .lead{font-size:1rem}.info-layout{display:block;padding-block:1.5rem 3rem}.info-index{position:static;border:0;padding:0 0 1.5rem;margin-bottom:2rem;border-bottom:1px solid var(--line);align-items:stretch;text-align:center;gap:.5rem}.info-index>a{min-height:48px;justify-content:center;border:1px solid #b6c7c4;border-radius:9px;padding:.6rem 1rem}.info-body>section{margin-bottom:2.5rem;scroll-margin-top:110px}.info-body p,.info-body li{font-size:.9375rem}.info-card{padding:1.3rem;border-radius:12px}.info-note{padding:1.25rem}.info-body h3{font-size:1.15rem}.info-badge{text-align:center}.footer-information{flex-direction:column;gap:.25rem;padding-block:1.25rem}.footer-information>a{width:100%;min-height:44px}.cookie-notice{inset:auto .75rem .75rem;display:block;padding:1rem;max-height:60dvh;border-radius:12px}.cookie-notice h2{text-align:center;font-size:1.4rem}.cookie-notice .eyebrow{text-align:center}.cookie-notice p{font-size:.8125rem}.cookie-notice .cookie-actions{margin-top:1rem;gap:.5rem}.cookie-actions .button{width:100%;min-height:48px}.cookie-dialog{width:calc(100% - 1.5rem);padding:1.25rem;max-height:calc(100dvh - 1.5rem);border-radius:14px}.cookie-dialog h2{text-align:center;font-size:1.7rem}.cookie-category{flex-direction:column;align-items:center;text-align:center;gap:.6rem}.cookie-dialog .cookie-actions{gap:.5rem}.cookie-dialog-head .eyebrow{font-size:.7rem}}
@media print{.cookie-notice,.cookie-dialog,.cookie-feedback,.info-index{display:none!important}.info-layout{display:block}.info-hero{padding-block:1rem}.info-body{max-width:none}}

/* Language selection is visible before the mobile menu is opened. */
.header-languages{display:flex;justify-content:flex-end;padding:0 22px 10px;margin-top:-4px}.language-switcher{display:flex;gap:5px;align-items:center}.language-switcher a{display:inline-flex;align-items:center;justify-content:center;gap:.5rem;min-height:36px;padding:.35rem .7rem;border:1px solid #5a707a;border-radius:7px;font-size:.75rem;line-height:1.4;color:#e0e8eb}.language-switcher a>span:first-child{font-size:.65rem;font-weight:750;letter-spacing:.04em;color:#c6d994}.language-switcher a[aria-current="true"]{background:var(--yellow);border-color:var(--yellow);color:var(--ink)}.language-switcher a[aria-current="true"]>span:first-child{color:var(--ink)}.language-switcher a:hover{background:#354b55;color:white}.language-switcher a[aria-current="true"]:hover{background:#e6f4b1;color:var(--ink)}.info-index{top:180px}#main [id]{scroll-margin-top:180px}
@media(max-width:760px){.header-languages{padding:0 12px 10px;margin-top:0;justify-content:center}.language-switcher{width:100%;gap:5px}.language-switcher a{flex:1;min-width:0;min-height:38px;padding:.35rem .25rem;font-size:.75rem}.language-switcher a>span:first-child{display:none}.header-inner{min-height:70px}.info-index{position:static}.info-hero h1,.hero h1{overflow-wrap:break-word}html{scroll-padding-top:160px}#main [id]{scroll-margin-top:160px}}
