@font-face{font-family:Satoshi;src:url('/assets/satoshi.woff2') format('woff2');font-weight:400;font-display:swap}@font-face{font-family:Satoshi;src:url('/assets/satoshi-medium.woff2') format('woff2');font-weight:500 700;font-display:swap}@font-face{font-family:Inter;src:url('/assets/inter.woff2') format('woff2');font-weight:400;font-display:swap}@font-face{font-family:Inter;src:url('/assets/inter-ext.woff2') format('woff2');font-weight:400;font-display:swap;unicode-range:U+100-24F,U+1E00-1EFF}@font-face{font-family:'Inter Display';src:url('/assets/inter-display.woff2') format('woff2');font-weight:400;font-display:swap}@font-face{font-family:'Inter Display';src:url('/assets/inter-display-ext.woff2') format('woff2');font-weight:400;font-display:swap;unicode-range:U+100-24F,U+1E00-1EFF}@font-face{font-family:'Secular One';src:url('/assets/secular.woff2') format('woff2');font-weight:400;font-display:swap}@font-face{font-family:'Plus Jakarta Sans';src:url('/assets/jakarta.woff2') format('woff2');font-weight:600;font-display:swap}@font-face{font-family:'Plus Jakarta Sans';src:url('/assets/jakarta-ext.woff2') format('woff2');font-weight:600;font-display:swap;unicode-range:U+100-2FF,U+1E00-1EFF}@font-face{font-family:'Konkhmer Sleokchher';src:url('/assets/konkhmer.woff2') format('woff2');font-weight:400;font-display:swap}@font-face{font-family:'Konkhmer Sleokchher';src:url('/assets/konkhmer-ext.woff2') format('woff2');font-weight:400;font-display:swap;unicode-range:U+100-2FF,U+1E00-1EFF}
:root{color-scheme:dark;--bg:#05050c;--blue:#202398;--text:#fafaff;--muted:#d2d4e7;--card:#131445;--line:#ffffff22}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:95px}body{margin:0;background:var(--bg);color:var(--text);font-family:Inter,Arial,sans-serif;line-height:1.65}a{color:inherit;text-decoration:none}button,select,textarea{font:inherit}button{cursor:pointer}a,button{touch-action:manipulation}img{display:block;max-width:100%;height:auto}button,a,summary,select,textarea{outline-offset:5px}button:focus-visible,a:focus-visible,summary:focus-visible,select:focus-visible,textarea:focus-visible{outline:3px solid #e5cf91}h1,h2,h3,p{margin-top:0}header{height:72px;position:sticky;top:0;z-index:20;background:#070713f2;backdrop-filter:blur(15px)}nav{height:100%;display:flex;justify-content:center;align-items:center;gap:60px;font-size:15px}nav>a{padding:10px 3px;color:#e0e0ed}nav>a:hover{color:white}.home{border:1px solid #ffffff26;border-radius:30px;padding:4px 20px;background:linear-gradient(#17171c 65%,#393524);box-shadow:inset 0 -2px 8px #95865622}.home span{font-size:27px;vertical-align:middle;line-height:1}.hero{position:relative;isolation:isolate;min-height:695px;background:radial-gradient(ellipse at 83% 10%,#7677bf25,transparent 52%),linear-gradient(180deg,#2426ad 0%,#2123a0 48%,#0e0e42 80%,var(--bg) 100%);overflow:hidden;text-align:center}.hero:before{content:'';position:absolute;z-index:-1;width:320px;height:1000px;right:-60px;top:-230px;transform:rotate(-22deg);border-radius:50%;background:linear-gradient(90deg,transparent,#9a9cdd16 45%,#afb1e325 53%,transparent);filter:blur(12px)}.hero-content{padding:126px 24px 0}.availability{display:inline-flex;gap:8px;background:#8d7c39;color:#fffdf3;padding:10px 18px;border:1px solid #bca9583d;border-radius:30px;font-size:14px}h1{font-family:Satoshi,Arial,sans-serif;font-size:92px;font-weight:400;line-height:1.1;letter-spacing:-2.2px;margin:26px 0}.hero p{font-size:26px;line-height:1.5;color:#e0e0f3;margin:0 auto 27px;max-width:650px}.button{display:inline-flex;align-items:center;justify-content:center;gap:15px;padding:9px 24px;border-radius:12px;background:#08080d;border:1px solid #ffffff37;box-shadow:0 4px 20px #aaa07615,inset 0 0 0 3px #ffffff04;color:#fff;font-family:'Inter Display',Inter,sans-serif;font-size:18px;min-height:48px;transition:border-color .2s,background .2s}.button:hover{border-color:#a5a5db;background:#191937}.ticker{margin:80px auto 0;max-width:1100px;overflow:hidden;mask-image:linear-gradient(90deg,transparent,#000 10%,#000 90%,transparent)}.ticker>div{display:flex;justify-content:space-between;gap:65px;width:max-content;padding-inline:30px;color:#b9bbd8;font-size:27px;white-space:nowrap}.portfolio{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.2fr) minmax(0,1fr);gap:30px;align-items:start;max-width:1440px;margin:0 auto;padding:15px 0 0}.work{display:block;position:relative;overflow:hidden}.work h2{font-family:'Konkhmer Sleokchher',Inter,sans-serif;font-size:23px;line-height:1.3;text-align:center;margin:0 0 12px;font-weight:400}.work>img{width:100%;aspect-ratio:1.07;object-fit:cover;border-radius:4px;filter:grayscale(1);transition:filter .3s}.work:hover>img{filter:grayscale(.2)}.work-web,.work-design{margin-top:250px}.work-brand>img{aspect-ratio:1.07}.portrait{margin-top:12px;width:100%;height:350px;object-fit:cover;filter:grayscale(1)}.work-link{position:absolute;bottom:14px;left:14px;background:#080813e8;padding:8px 13px;font-size:12px;border:1px solid #ffffff33;border-radius:6px}.inner{width:min(1120px,calc(100% - 160px));margin-inline:auto}.blue-body{background:linear-gradient(#080817,#202398 22%,#202398 80%,#090919)}.section-shell{border-radius:50px 50px 0 0;border:1px solid #ffffff08}.services{background:linear-gradient(#060611,#101044 55%,#202398);padding:85px 0 60px}h2{font-family:'Secular One',Satoshi,sans-serif;font-size:92px;font-weight:400;line-height:1.08;letter-spacing:-1.5px;margin-bottom:26px}.section-intro{font-family:Satoshi,Inter,sans-serif;font-size:24px;line-height:1.45;color:var(--muted);margin-bottom:26px}.tags{display:flex;gap:16px;flex-wrap:wrap;border-bottom:1px solid var(--line);padding-bottom:24px}.tags a{font-size:14px;background:#e4e4ec;color:#131322;border-radius:9px;padding:10px 13px}.tags a:hover{background:white}.service-grid{display:grid;grid-template-columns:1fr 1fr;gap:24px;padding-top:42px}.service-card{background:#121244e8;border:1px solid #ffffff12;border-radius:24px;padding:30px;align-self:start;box-shadow:0 12px 30px #05051216}.service-card h3{font-family:'Plus Jakarta Sans',Satoshi,sans-serif;font-size:24px;font-weight:600;line-height:1.45;display:flex;gap:13px;border-bottom:1px solid var(--line);padding-bottom:20px;margin-bottom:18px}.service-card h3>span{font-size:28px;font-weight:400;color:#cecef6}.service-card p{font-size:15px;line-height:1.6;color:#e0e1ef;margin:0}.service-card.logo{grid-column:1;grid-row:1 / 3}.service-card.social{grid-column:2;grid-row:1}.service-card.brand{grid-column:2;grid-row:2}.service-card.web{grid-column:2;grid-row:3}.center{text-align:center;margin-top:55px}.education{padding:85px 0 100px}.education-intro{display:grid;grid-template-columns:1fr 1fr;gap:44px;align-items:center;margin-bottom:60px}.education-photo{width:100%;height:503px;object-fit:cover;border-radius:7px;filter:grayscale(1)}.badge{display:inline-block;background:#090911;border:1px solid #ffffff12;border-radius:30px;padding:5px 16px;font-size:14px;line-height:1.5;margin-bottom:22px}.education .section-intro{margin-bottom:0}.learning-track{display:flex;gap:16px;overflow-x:auto;scroll-snap-type:x mandatory;scrollbar-color:#8889ca #171865;scrollbar-width:thin;padding:0 0 18px}.learning-card{flex:0 0 500px;scroll-snap-align:start;background:linear-gradient(160deg,#323474,#1a1c59);border:1px solid #ffffff28;border-radius:12px;padding:36px 40px;min-height:440px;color:#f6f6ff}.learning-card>img{width:84px;height:84px;object-fit:cover;border-radius:50%;margin-bottom:20px}.learning-card h3{font-family:Satoshi,sans-serif;font-size:34px;font-weight:500;line-height:1.25;margin-bottom:9px}.learning-card p{font-size:16px;color:#d5d8ed;padding-bottom:20px;margin-bottom:20px;border-bottom:1px solid #ffffff20}.learning-card ul{padding:0;list-style:none;font-size:17px;margin:0}.learning-card li{margin:5px 0}.scroll-hint{font-size:12px;color:#d0d2ed;text-align:right;margin:10px 0 22px}.facts{display:grid;grid-template-columns:1fr 1fr;text-align:center;background:#10113f;border:1px solid #ffffff15;border-radius:20px;padding:34px 20px;gap:25px}.facts h3{font-family:Satoshi,sans-serif;font-size:36px;font-weight:500;margin:0 0 8px}.facts p{font-size:18px;color:#d1d3e9;margin:0}.faq{background:linear-gradient(#1b1c70,#080811 65%);padding:95px 0 110px}.faq-grid{display:grid;grid-template-columns:1fr 1fr;gap:44px}.faq h2{font-size:83px}.faq .section-intro{font-size:20px}.faq img{width:100%;height:494px;object-fit:cover;border-radius:18px;filter:grayscale(1)}.questions{padding-top:40px}details{margin-bottom:12px;background:#17184d;border:1px solid #ffffff16;border-radius:15px;overflow:hidden}summary{cursor:pointer;list-style:none;padding:23px 27px;display:flex;align-items:center;justify-content:space-between;gap:20px;font-size:16px}summary::-webkit-details-marker{display:none}summary span{font-size:23px;font-weight:400;color:#d8daf7}details[open] summary span{transform:rotate(45deg)}details p{color:#e0e0ef;font-size:15px;margin:0;padding:0 27px 25px}footer{background:radial-gradient(ellipse at 50% 0,#202167 0,transparent 65%),#080812;text-align:center;padding:80px 25px 25px}footer h2{font-size:46px;letter-spacing:-.5px;margin:0 auto 30px}.footer-email{display:block;width:fit-content;margin:0 auto 26px;font-family:Satoshi,sans-serif;font-size:28px;border-bottom:1px solid #8888b7}.socials{display:flex;justify-content:center;gap:38px;font-size:18px;margin-bottom:30px}.socials a{padding:7px}.socials a:hover{color:#c3c5ff}.footer-bottom{max-width:1120px;margin:70px auto 0;padding-top:20px;border-top:1px solid #ffffff14;display:flex;justify-content:space-between;font-size:12px;color:#c2c4db}.contact-page{text-align:center;min-height:calc(100vh - 72px);padding:90px 24px 70px;background:radial-gradient(ellipse at 50% 15%,#756a36 0,#363421 45%,#08080e 80%)}.contact-page h1{font-family:'Secular One',sans-serif;font-size:70px;margin:0 0 55px}.contact-links{display:flex;flex-direction:column;align-items:center;gap:30px}.contact-links a{font-family:Satoshi,sans-serif;font-size:34px;padding:7px 23px;background:#1d2642;border-radius:7px}.contact-links a:last-child{background:#442b37}.contact-label{font-size:13px;letter-spacing:.12em;margin:45px 0 5px}.contact-email{font-family:Satoshi,sans-serif;font-size:34px;overflow-wrap:anywhere;display:inline-block;border-bottom:1px solid #ffffff77}.copy{border:0;background:transparent;color:#f0ecd8;text-decoration:underline;font-size:13px;min-height:44px}.contact-help{font-size:16px;max-width:580px;margin:20px auto 35px;color:#e6e2cd}form{max-width:580px;text-align:left;background:#101017e6;border:1px solid #ffffff24;padding:30px;border-radius:16px;margin:0 auto 35px}form h3{font-family:Satoshi,sans-serif;font-size:25px;font-weight:500;margin-bottom:22px}label{display:block;font-size:14px;margin:16px 0 8px}select,textarea{width:100%;min-width:0;padding:12px;color:white;background:#1e1e30;border:1px solid #ffffff3b;border-radius:8px;font-size:15px}textarea{resize:vertical;min-height:130px}form .button{width:100%;margin-top:20px;justify-content:space-between}.form-note,#form-status{font-size:12px;color:#c9c9d9;margin:15px 0 0}.back{display:inline-block;border-bottom:1px solid #ffffff55;font-size:14px;margin-top:20px}.contact-disciplines{font-size:13px;line-height:2.3;margin-top:60px;color:#e1decc}.detail-page{padding:0 24px;background:#05050b}.logo-content{max-width:810px;margin:auto;background:radial-gradient(ellipse at 50% 60%,#070711,#171861);padding:70px 35px 55px;text-align:center}.detail-page h1{font-family:'Secular One',sans-serif;font-size:40px;line-height:1.25;letter-spacing:0;background:#080813;padding:18px;border-radius:20px;margin:0 0 60px}.detail-intro{font-family:Satoshi,sans-serif;font-size:25px;line-height:1.5;max-width:650px;margin:0 auto 35px}.gallery-open{background:#fff;border:0;border-radius:60px;padding:0;width:100%;overflow:hidden;display:block;position:relative}.gallery-open img{width:100%}.gallery-open span{position:absolute;bottom:20px;right:25px;border-radius:8px;padding:8px 13px;background:#121239;color:#fff;font-size:13px}.image-note{font-size:13px;color:#d0d1e7;margin:18px 0 25px}.branding-content{max-width:1086px;padding:80px 50px;margin:auto;background:linear-gradient(105deg,#16175c 15%,#5053be 15%,#303284 75%)}.branding-content>h1{max-width:840px;margin:0 auto 30px;font-size:38px}.branding-content>p{max-width:850px;margin:0 auto 45px;font-size:18px}.brand-points{max-width:810px;margin:0 auto 35px;padding:40px;background:#08080f;border-radius:35px}.brand-points h2{font:500 24px Satoshi,sans-serif;letter-spacing:0;line-height:1.4;margin:0 0 5px}.brand-points p{font-family:Satoshi,sans-serif;font-size:22px;line-height:1.4;margin-bottom:30px;color:#e1e1ec}.brand-points p:last-child{margin-bottom:0}.branding-content>.button{display:flex;width:fit-content;margin:auto}dialog{width:min(1050px,95vw);max-height:94vh;background:#101020;color:white;border:1px solid #ffffff33;border-radius:16px;padding:20px}dialog::backdrop{background:#030309dd}dialog img{max-height:78vh;object-fit:contain;margin:auto}.close{display:block;margin:0 0 16px auto;color:white;background:#222244;border:1px solid #ffffff55;border-radius:7px;padding:9px 15px}.skip{position:fixed;top:-100px;left:15px;z-index:50;background:#fff;color:#111;padding:12px}.skip:focus{top:10px}
@media(min-width:1200px){.service-card.logo{grid-column:1;grid-row:1}.service-card.web{grid-column:1;grid-row:2}.service-card.brand{grid-column:2;grid-row:1}.service-card.social{grid-column:2;grid-row:2}}
@media(max-width:1199px){.hero{min-height:670px}h1{font-size:76px}.hero-content{padding-top:120px}.portfolio{grid-template-columns:1fr 1fr;gap:30px;padding-inline:60px}.work-web,.work-design{margin:0}.work-web{grid-column:1;grid-row:1}.work-design{grid-column:2;grid-row:1}.brand-column{grid-column:1/-1;grid-row:2;width:82%;margin:auto;padding:15px 0 0;background:#1e2094}.work-brand>img{width:50%;aspect-ratio:1.1;margin:auto}.work-brand .work-link{left:27%;bottom:10px}.portrait{display:none}.inner{width:calc(100% - 160px)}h2{font-size:64px}.section-intro{font-size:20px}.education-intro{display:block}.education-photo{display:none}.education-intro h2{margin-top:0}.education-intro .section-intro{max-width:760px}.faq-grid{display:block}.faq h2{font-size:64px}.faq img{height:494px}.questions{padding-top:42px;border-top:1px solid #ffffff22;margin-top:42px}.service-card{padding:28px}.service-card h3{font-size:24px}.hero p{font-size:26px}}
@media(max-width:760px){html{scroll-padding-top:90px}header{height:80px}nav{gap:20px;font-size:13px}.home{padding:5px 12px}.home span{font-size:22px}.hero{min-height:500px}.hero-content{padding:40px 20px 0}h1{font-size:46px;line-height:1;letter-spacing:-1px;max-width:340px;margin:25px auto 22px}.hero p{font-size:20px;line-height:1.45;max-width:360px;margin-bottom:22px}.desktop-break{display:none}.availability{font-size:13px;padding:9px 15px}.ticker{margin-top:40px}.ticker>div{font-size:24px;gap:60px}.portfolio{padding:70px 24px 0;display:flex;flex-direction:column;gap:35px}.work,.brand-column{width:100%;min-width:0}.work h2{font-size:22px}.work>img{aspect-ratio:1.07}.brand-column{background:none;padding:0;order:2}.work-web{order:1}.work-design{order:3}.work-brand>img{width:100%}.work-brand .work-link{left:14px}.inner{width:calc(100% - 40px)}.section-shell{border-radius:32px 32px 0 0}.services{padding:60px 0 45px;margin-top:45px}h2{font-size:46px;letter-spacing:-.8px}.section-intro{font-size:18px}.tags{gap:9px}.tags a{font-size:12px;padding:9px 11px}.service-grid{display:flex;flex-direction:column;gap:18px;padding-top:30px}.service-card{padding:25px 22px;width:100%;border-radius:20px}.service-card.logo{order:1}.service-card.brand{order:2}.service-card.web{order:3}.service-card.social{order:4}.service-card h3{font-size:22px;padding-bottom:16px}.service-card p{font-size:15px}.center{margin-top:32px}.education{padding:45px 0 55px}.education-intro{margin-bottom:30px}.badge{font-size:13px;margin-bottom:17px}.learning-card{flex-basis:90%;padding:25px;min-height:460px}.learning-card h3{font-size:27px}.learning-card p{font-size:14px}.learning-card ul{font-size:15px}.learning-card>img{width:70px;height:70px}.facts{gap:15px;padding:25px 14px}.facts h3{font-size:25px}.facts p{font-size:13px}.faq{padding:60px 0}.faq h2{font-size:44px}.faq .section-intro{font-size:17px}.faq img{height:290px}.questions{margin-top:30px;padding-top:30px}summary{padding:18px 20px;font-size:15px}details p{padding:0 20px 22px;font-size:14px}footer{padding:60px 22px 22px}footer h2{font-size:32px;max-width:400px;line-height:1.2}.footer-email{font-size:23px}.socials{gap:26px;font-size:16px}.footer-bottom{margin-top:45px}.contact-page{padding:50px 20px}.contact-page h1{font-size:46px;line-height:1.2;margin-bottom:40px}.contact-links a{font-size:29px}.contact-email{font-size:25px}.contact-help{font-size:15px}form{padding:24px 20px}.detail-page{padding:0 15px}.logo-content{padding:40px 20px}.detail-page h1{font-size:27px;margin-bottom:30px;border-radius:14px;padding:16px}.detail-intro{font-size:20px}.gallery-open{border-radius:25px}.gallery-open span{font-size:11px;bottom:8px;right:8px;padding:6px 8px}.branding-content{padding:40px 20px}.branding-content>h1{font-size:26px}.branding-content>p{font-size:16px}.brand-points{padding:25px 20px;border-radius:22px}.brand-points h2{font-size:23px}.brand-points p{font-size:18px}}
@media(max-width:360px){nav{gap:12px;font-size:12px}.home{padding-inline:9px}h1{font-size:42px}.hero p{font-size:18px}.contact-email,.footer-email{font-size:21px}.learning-card{flex-basis:96%}.facts h3{font-size:22px}.faq h2{font-size:38px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*{transition:none!important}}
.hero h1{letter-spacing:normal;line-height:.805}@media(max-width:760px){.hero h1{line-height:1}}

/* Subtle, consistent feedback for buttons and button-style links. */
:is(.button,button,.home,.tags a,.contact-links a,.socials a){
 transition:transform 220ms cubic-bezier(.2,.75,.25,1),box-shadow 220ms ease,border-color 220ms ease,background-color 220ms ease,filter 220ms ease;
 transform-origin:center;
}
:is(.copy,.socials a){display:inline-block}
@media(hover:hover) and (pointer:fine){
 :is(.button,button,.home,.tags a,.contact-links a,.socials a):hover{
  transform:translateY(-2px) scale(1.035);
  filter:brightness(1.12);
 }
 :is(.button,.home,.tags a,.contact-links a,button.close):hover{
  box-shadow:0 7px 24px #8a8be32b,0 0 0 1px #c5c7ff38;
  border-color:#b1b3e5;
 }
 .hero .button:hover{
  box-shadow:0 8px 30px #b4b2f13b,0 0 16px #c6b87124,inset 0 0 0 1px #ffffff12;
 }
 .gallery-open:hover{transform:translateY(-2px) scale(1.012)}
}
:is(.button,button,.home,.tags a,.contact-links a,.socials a):focus-visible{
 box-shadow:0 0 0 4px #b8b9ed25,0 7px 22px #8a8be329;
 filter:brightness(1.1);
}
:is(.button,button,.home,.tags a,.contact-links a,.socials a):active{
 transform:translateY(0) scale(.98);
 transition-duration:90ms;
 filter:brightness(1.04);
}
@media(prefers-reduced-motion:reduce){
 :is(.button,button,.home,.tags a,.contact-links a,.socials a):is(:hover,:active,:focus-visible){transform:none;transition:none}
}

/* Match navigation feedback to the site's button animations. */
nav>a:not(.home){
 display:inline-block;
 transition:transform 220ms cubic-bezier(.2,.75,.25,1),color 220ms ease,text-shadow 220ms ease;
 transform-origin:center;
}
@media(hover:hover) and (pointer:fine){
 nav>a:not(.home):hover{
  transform:translateY(-2px) scale(1.035);
  color:#fff;
  text-shadow:0 0 16px #b6b8ff88;
 }
}
nav>a:not(.home):focus-visible{color:#fff;text-shadow:0 0 16px #b6b8ff88}
nav>a:not(.home):active{transform:translateY(0) scale(.98);transition-duration:90ms}
@media(prefers-reduced-motion:reduce){
 nav>a:not(.home):is(:hover,:active,:focus-visible){transform:none;transition:none}
}

/* Two equal groups create a continuous loop without a visible reset. */
.ticker>.ticker-track{display:flex;gap:0;padding:0;width:max-content;animation:hero-ticker-scroll 32s linear infinite;will-change:transform}
.ticker-group{display:flex;align-items:center;flex-shrink:0;gap:65px;padding-right:65px}
@keyframes hero-ticker-scroll{from{transform:translateX(0)}to{transform:translateX(-50%)}}
.ticker:hover>.ticker-track{animation-play-state:paused}
@media(max-width:760px){.ticker-group{gap:60px;padding-right:60px}}
@media(prefers-reduced-motion:reduce){.ticker>.ticker-track{animation:none;will-change:auto}}

/* Brand-colour social icons and a shared lavender action colour. */
:root{--action:#b9adff;--action-hover:#cec5ff;--action-ink:#17132e}
.button,.home,.tags a,button.close{
 background:var(--action);color:var(--action-ink);border-color:#d5ccff;
 box-shadow:0 4px 18px #9b87ff24,inset 0 1px 0 #ffffff40;
}
.button:hover,.home:hover,.tags a:hover,button.close:hover{
 background:var(--action-hover);color:var(--action-ink);border-color:#e4ddff;
}
.button:focus-visible,.home:focus-visible,.tags a:focus-visible,button.close:focus-visible{color:var(--action-ink)}
.copy{color:#d2c8ff}
.gallery-open span{background:var(--action);color:var(--action-ink)}
.socials a,.contact-links a{display:inline-flex;align-items:center;justify-content:center;gap:11px}
.brand-icon{width:32px;height:32px;flex:0 0 32px;object-fit:contain}
.socials a{border-radius:10px;padding:9px 12px;background:#ffffff05;border:1px solid #ffffff12}
.socials a:hover{color:#fff;background:#ffffff0b}
.contact-links a .brand-icon{width:38px;height:38px;flex-basis:38px}
.contact-links a{gap:15px}
@media(max-width:760px){.socials{gap:16px;flex-wrap:wrap}.socials a{gap:9px;padding:8px 10px}.brand-icon{width:28px;height:28px;flex-basis:28px}.contact-links a .brand-icon{width:34px;height:34px;flex-basis:34px}}

/* A single full-width background connects detail pages to their footer. */
body.detail-layout{
 min-height:100vh;
 background:radial-gradient(ellipse at 50% 18%,#25277566,transparent 65%),linear-gradient(180deg,#171861 0%,#131443 60%,#0d0e29 100%);
}
.detail-layout .detail-page,.detail-layout .logo-content,.detail-layout .branding-content,.detail-layout footer{background:transparent}
.detail-layout .detail-page{width:100%}
.detail-layout footer{padding-top:65px}
.detail-layout .footer-bottom{border-color:#ffffff20}
/* Prevent long labels or enlarged controls from forcing narrow screens wider. */
.service-grid>*,.faq-grid>*,.education-intro>*{min-width:0}
.footer-email,.contact-email{max-width:100%;overflow-wrap:anywhere}
.button{max-width:100%;text-align:center}
@media(max-width:760px){.detail-layout footer{padding-top:50px}.footer-bottom{gap:16px;flex-wrap:wrap}}

/* Keep portfolio previews consistent at every layout size. */
@media(min-width:1200px){
 .portfolio{grid-template-columns:repeat(3,minmax(0,1fr))}
 .work-web,.work-design{margin-top:0}
}
@media(min-width:761px) and (max-width:1199px){
 .brand-column{width:calc((100% - 30px)/2);padding:0;background:transparent}
 .work-brand>img{width:100%;aspect-ratio:1.07}
 .work-brand .work-link{left:14px;bottom:14px}
 .portfolio{padding-bottom:35px}
}
/* Web creation sits on the left, directly beside branding. */
@media(min-width:761px){
 .service-card.logo{grid-column:1;grid-row:1}
 .service-card.social{grid-column:2;grid-row:1}
 .service-card.web{grid-column:1;grid-row:2}
 .service-card.brand{grid-column:2;grid-row:2}
 .service-card{align-self:stretch}
}
@media(max-width:760px){
 .service-card.web{order:2}
 .service-card.brand{order:3}
}

.learning-track.is-moving{scroll-snap-type:none;scroll-behavior:auto}
.learning-copy{display:none}
.learning-track.is-moving .learning-copy{display:block}
.learning-toggle{display:block;margin:12px 0 0 auto;padding:7px 12px;min-height:40px;border:1px solid #ffffff38;border-radius:9px;background:#16174b;color:#eeeefe;font-size:13px;transition:background .2s}
.learning-toggle:hover{background:#303177}
.learning-toggle[hidden]{display:none}

/* Reserved space lets portfolio previews grow without shifting neighbours. */
.portfolio .work{transform:scale(.96);transform-origin:center;transition:transform 380ms cubic-bezier(.22,.68,.25,1)}
.portfolio .work:focus-visible{transform:scale(1)}
@media(hover:hover) and (pointer:fine){.portfolio .work:hover{transform:scale(1)}}
@media(prefers-reduced-motion:reduce){.portfolio .work,.portfolio .work:hover,.portfolio .work:focus-visible{transform:none;transition:none}}

/* Aligned branding copy and a quiet photographic accent above its action. */
.branding-content>h1,.branding-content>p,.brand-points{max-width:810px;margin-left:auto;margin-right:auto}
.branding-content>h1{text-align:center}
.brand-end-photo{width:min(420px,100%);margin:28px auto 24px;overflow:hidden;border-radius:18px;opacity:.48;mask-image:linear-gradient(to bottom,transparent,#000 18%,#000 75%,transparent)}
.brand-end-photo img{width:100%;height:190px;object-fit:cover;object-position:center;filter:grayscale(1)}
@media(max-width:760px){.brand-end-photo{width:min(280px,100%);margin:22px auto 18px}.brand-end-photo img{height:145px}}

/* The expanded FAQ uses the portfolio's lavender accent. */
.questions details{transition:background-color .25s ease,border-color .25s ease,box-shadow .25s ease}
.questions details[open]{background:#b9adff;border-color:#d5ccff;box-shadow:0 8px 24px #05051224}
.questions details[open] summary{color:#17132e}
.questions details[open] summary span{color:#372765}
.questions details[open] p{color:#29223f}
.questions details[open] summary:focus-visible{outline-color:#372765;outline-offset:-5px}
