/* The approved home design, extended to interior pages only. */
.interior-page { --interior-muted:#606a80; }
.interior-page [hidden] { display:none !important; }
.interior-page h2,.interior-page h3 { font-weight:700; }
.interior-hero { position:relative; background:radial-gradient(ellipse 650px 390px at 50% 54%,#eaf0ff 0%,#f6f8ff 45%,transparent 80%); }
.interior-hero .page-hero { padding:78px 0 86px; text-align:center; }
.interior-hero .eyebrow { margin-bottom:25px; color:#626b7f; font-weight:700; }
.interior-hero h1 { max-width:1050px; margin:auto; font-size:clamp(48px,5vw,68px); line-height:1.12; letter-spacing:-.065em; }
.interior-hero .sticker { font-family:Codec,Arial,sans-serif; font-size:.93em; font-weight:700; letter-spacing:-.055em; padding:4px 15px 7px; border:3px dashed var(--accent); color:#000; box-shadow:0 5px 10px #0001,0 12px 32px #335cff20; margin:12px 0 0 5px; }
.interior-hero .lead { max-width:720px; margin:30px auto 0; font-size:23px; line-height:1.4; color:#444c60; }
.interior-hero .actions { justify-content:center; margin-top:33px; }
.team-title-line { display:flex; align-items:center; justify-content:center; flex-wrap:wrap; gap:0 .24em; margin-top:10px; }
.interior-hero .team-rotating-sticker { display:inline-flex; align-items:center; justify-content:center; width:5.4em; height:1.55em; flex:none; margin:8px 0 0; padding-block:5px; line-height:1.15; white-space:nowrap; vertical-align:middle; border-color:var(--accent); }
.team-rotating-sticker .rotating-word { letter-spacing:-.055em; }
.team-rotating-sticker .word-in[data-effect=pulse] { animation:team-passion 1.5s ease-in-out 2 both; }
.team-rotating-sticker[data-effect=pulse] { animation:frame-glow 1.5s ease-in-out 2; }
.team-rotating-sticker .word-in[data-effect=energy] { animation:team-energy 1s cubic-bezier(.16,1,.3,1) both; }
.team-word-toggle { right:24px; bottom:18px; opacity:0; pointer-events:none; }
.team-word-toggle:focus-visible { opacity:1; pointer-events:auto; }
@keyframes team-passion { 0%,100% { transform:scale(1); text-shadow:0 0 0 #335cff00; } 45% { transform:scale(1.045); text-shadow:0 0 17px #335cff65; } 65% { transform:scale(1.01); text-shadow:0 0 7px #335cff25; } }
@keyframes team-energy { 0% { transform:translateX(-18px) skewX(-9deg); opacity:0; } 35% { transform:translateX(7px) skewX(4deg); opacity:1; text-shadow:-6px 0 15px #335cff50; } 65% { transform:translateX(-3px) skewX(-2deg); } 100% { transform:translateX(0) skewX(0); opacity:1; text-shadow:none; } }
.interior-pills { display:flex; flex-wrap:wrap; justify-content:center; gap:10px; margin:30px auto 0; }
.interior-pills>span { background:#fff; border:1px solid #dce4fa; border-radius:30px; padding:9px 16px; font-size:14px; color:#49536a; box-shadow:0 3px 6px #1527590a; }
.interior-section { padding:92px 0; }
.interior-section .section-title { margin-bottom:48px; }
.interior-page .section-title h2 { font-size:clamp(34px,4.1vw,50px); }
.interior-page .section-title h2 strong { color:var(--accent); }
.interior-dark { background:#08090c; color:#fff; }
.interior-dark .section-title>img { filter:invert(1); }
.interior-dark .section-title h2 strong { color:#91aaff; }
.interior-dark .section-title p { color:#acb3c6; }
.interior-note { font-size:15px; line-height:1.55; color:var(--interior-muted); margin:30px auto 0; max-width:900px; text-align:center; }
.interior-dark .interior-note { color:#a2aabd; }
.interior-checks { list-style:none; padding:0; margin:26px 0; display:grid; gap:15px; }
.interior-checks li { display:flex; align-items:flex-start; gap:11px; font-size:18px; line-height:1.45; }
.interior-checks li>span { flex:none; display:grid; place-items:center; width:20px; height:20px; border-radius:50%; background:#e8edff; color:#335cff; font-size:13px; font-weight:700; margin-top:3px; }
.portfolio-toolbar { gap:22px; margin-bottom:35px; align-items:flex-start; }
.portfolio-toolbar .filters { flex-wrap:wrap; gap:9px; }
.portfolio-toolbar .filters button { background:#15171e; border:1px solid #353a48; color:#c2c8d7; padding:11px 16px; font-size:15px; border-radius:9px; }
.portfolio-toolbar .filters button[aria-pressed=true] { color:#fff; background:#335cff; border-color:#6a89ff; box-shadow:0 5px 20px #335cff38; }
.portfolio-toolbar>p { color:#a2aabd; flex:none; font-size:15px; padding-top:11px; }
.work-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:25px; }
.work-card { min-width:0; background:linear-gradient(155deg,#181c29,#101116 65%); border:1px solid #3a425e; border-radius:21px; overflow:hidden; box-shadow:0 10px 38px #335cff12; transition:transform .3s,box-shadow .3s,border-color .3s; }
.work-card:hover,.work-card:focus-within { transform:translateY(-6px); border-color:#7893ff; box-shadow:0 8px 35px #335cff42,0 20px 50px #0005; }
.work-card>a { display:flex; flex-direction:column; height:100%; }
.work-visual { position:relative; height:245px; overflow:hidden; background:radial-gradient(ellipse at 50% 50%,#263764,#0d111c 75%); }
.work-visual img { width:100%; height:100%; object-fit:cover; object-position:top; transition:transform .5s; }
.work-visual.is-portrait img { object-fit:contain; object-position:center; }
.work-card:hover .work-visual:not(.is-portrait) img { transform:scale(1.035); }
.work-format { position:absolute; bottom:13px; left:14px; padding:6px 10px; border-radius:20px; background:#080b14dc; color:#fff; backdrop-filter:blur(8px); font-size:11px; border:1px solid #ffffff35; }
.work-copy { padding:25px; flex:1; display:flex; flex-direction:column; }
.work-copy>p { color:#91aaff; font-size:12px; letter-spacing:.04em; text-transform:uppercase; margin-bottom:12px; }
.work-copy h3 { font-size:30px; color:#fff; margin-bottom:15px; }
.work-description { display:block; font-size:16px; line-height:1.5; color:#bec5d5; flex:1; }
.work-link { display:flex; align-items:center; justify-content:space-between; gap:12px; color:#fff; font-size:15px; margin-top:24px; padding-top:18px; border-top:1px solid #ffffff25; }
.work-link svg { width:16px; height:16px; }
.interior-feature-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:22px; }
.interior-feature { border:1px solid #dce3f5; border-radius:22px; padding:33px; background:linear-gradient(145deg,#fff,#f4f7ff); box-shadow:0 10px 35px #2742720a; }
.feature-number { display:grid; place-items:center; width:43px; height:43px; background:var(--accent); border-radius:10px; color:#fff; font-size:15px; font-weight:700; box-shadow:0 7px 17px #335cff30; margin-bottom:30px; }
.interior-feature h3 { font-size:30px; margin-bottom:18px; }
.interior-feature p { font-size:18px; line-height:1.5; color:var(--interior-muted); margin:0; }
.interior-dark .interior-feature { background:linear-gradient(145deg,#171d2e,#111217); border-color:#364466; box-shadow:0 8px 28px #335cff15; }
.interior-dark .interior-feature p { color:#b4bfd4; }
.service-pricing { background:radial-gradient(ellipse 850px 500px at 50% 50%,#e7eeff,transparent),#fafbff; }
.service-pricing .section-title { margin-bottom:42px; }
.service-billing { display:flex; width:fit-content; margin:auto; gap:5px; border:1px solid #d3dcf5; border-radius:12px; padding:5px; background:#eef2fb; }
.service-billing button { border:0; border-radius:8px; padding:12px 20px; font-size:16px; font-weight:700; color:#58637d; background:none; }
.service-billing button[aria-pressed=true] { background:#335cff; color:#fff; box-shadow:0 4px 12px #335cff35; }
.service-billing-note { margin:20px 0 35px; font-size:16px; text-align:center; color:#5b657b; }
.service-price-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:22px; align-items:stretch; }
.service-price-grid.is-web-pricing { grid-template-columns:repeat(2,minmax(0,1fr)); }
.service-price-card { padding:32px; border:1px solid #393e4b; border-radius:23px; background:#131418; color:#fff; display:flex; flex-direction:column; min-width:0; box-shadow:0 12px 35px #12275717; }
.service-price-card.is-featured { background:linear-gradient(145deg,#335cff,#213368 70%,#1b2340); border-color:#839aff; box-shadow:0 0 35px #335cff40,0 15px 40px #1b326b24; }
.service-price-card.is-duo { background:radial-gradient(ellipse at 100% 0,#233f8c,#131418 70%); border-color:#6c88e6; }
.service-price-badge { display:block; width:fit-content; border-radius:22px; background:#c7d5ff; color:#183774; font-size:12px; font-weight:700; padding:5px 11px; margin-bottom:26px; }
.service-price-spacer { height:27px; margin-bottom:26px; }
.service-price-card h3 { font-size:30px; margin-bottom:20px; }
.service-price { display:flex; align-items:baseline; gap:8px; flex-wrap:wrap; margin:0; }
.service-price>span:first-child { font-weight:700; font-size:56px; letter-spacing:-.04em; line-height:1.1; white-space:nowrap; }
.service-price>span:last-child { font-size:15px; color:#d1d9ed; white-space:nowrap; }
.service-price-card .interior-checks { flex:1; margin:30px 0 38px; }
.service-price-card .interior-checks li { font-size:17px; color:#d7ddeb; }
.service-price-card .interior-checks li>span { background:#91aaff; color:#173477; }
.service-price-card .button { font-size:14px; gap:12px; padding-inline:13px; align-self:stretch; }
.interior-scope-grid { display:grid; grid-template-columns:1fr 1fr; gap:26px; }
.interior-scope-grid>article { padding:38px; border:1px solid #dce3f5; border-radius:24px; background:linear-gradient(145deg,#fff,#f1f5ff); }
.interior-scope-grid h3 { font-size:34px; margin-bottom:22px; }
.interior-scope-grid p { font-size:20px; line-height:1.5; color:#5b657b; }
.interior-scope-grid .eyebrow { font-size:13px; color:#335cff; }
.interior-closing { background:linear-gradient(#fff,#e2eaff); padding:50px 0 90px; }
.interior-closing-board { border:1px solid #43537c; border-radius:30px; padding:65px; display:grid; grid-template-columns:1.7fr 1fr; gap:45px; align-items:center; color:#fff; background:radial-gradient(ellipse at 100% 0,#234397,transparent 65%),#11131b; box-shadow:0 15px 45px #335cff24; }
.interior-closing-board h2 { font-size:50px; margin-bottom:24px; }
.interior-closing-board h2 strong { color:#91aaff; }
.interior-closing-board p { color:#bec8df; }
.interior-closing-board .eyebrow { color:#91aaff; font-size:12px; }
.interior-closing-board .actions { align-items:center; }
.closing-link { display:flex; align-items:center; gap:10px; font-size:16px; text-decoration:underline; text-underline-offset:5px; }
.closing-link svg { width:16px; height:16px; }
.closing-team { text-align:center; }
.closing-team>div { display:flex; justify-content:center; padding-left:18px; margin-bottom:22px; }
.closing-team img { border:4px solid #202a46; width:84px; height:84px; border-radius:50%; object-fit:contain; margin-left:-18px; box-shadow:0 8px 22px #0005; }
.closing-team p { font-size:18px; margin-bottom:9px; }
.closing-team>span { font-size:13px; color:#91aaff; }
.web-concept-stage { overflow:hidden; padding:0 0 65px; background:linear-gradient(#fff,#f5f8ff); }
.web-concept-stack { position:relative; height:390px; max-width:1040px; margin:25px auto 0; }
.web-concept-stack img { position:absolute; width:55%; height:330px; object-fit:cover; object-position:top; border-radius:15px; border:1px solid #dbe2f1; box-shadow:0 20px 45px #13265925; }
.web-concept-stack img:nth-child(1) { left:2%; top:22px; transform:rotate(-7deg); }
.web-concept-stack img:nth-child(2) { right:2%; top:22px; transform:rotate(7deg); }
.web-concept-stack img:nth-child(3) { left:22.5%; top:0; z-index:2; }
.social-reel-stage { padding:0 0 70px; }
.social-reel-stage .offer-reels { max-width:1050px; margin:0 auto; border-radius:25px; padding-block:22px; background:#11131a; box-shadow:0 12px 40px #335cff24; }
.new-team-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:25px; }
.agency-page .interior-hero { background:linear-gradient(to top,#f8faff,#f8faff00 110px),radial-gradient(ellipse 650px 390px at 50% 54%,#eaf0ff 0%,#f6f8ff 45%,transparent 80%); }
.agency-page #equipe { --team-fade-height:clamp(90px,10vw,140px); background:linear-gradient(180deg,#f8faff 0%,#e4e8f2 22%,#929bac 49%,#343c4b 75%,#08090c 100%) top/100% var(--team-fade-height) no-repeat,#08090c; padding-top:calc(var(--team-fade-height) + 32px); }
.new-team-card { background:linear-gradient(#162345,#111319); border:1px solid #3c527e; border-radius:23px; overflow:hidden; box-shadow:0 8px 32px #335cff25; }
.new-team-photo { position:relative; }
.new-team-photo img { width:100%; height:auto; aspect-ratio:4/5; object-fit:contain; }
.team-label { position:absolute; right:16px; bottom:17px; border:1px solid #ffffff50; background:#0a1225ba; border-radius:20px; padding:6px 12px; font-size:11px; backdrop-filter:blur(8px); }
.new-team-copy { padding:28px; }
.new-team-copy>p { font-size:13px; color:#9ab3ff; margin-bottom:10px; }
.new-team-copy h2 { font-size:40px; letter-spacing:-.05em; margin-bottom:17px; }
.new-team-copy>span { color:#bbc4d6; font-size:17px; line-height:1.5; display:block; }
.breadcrumb { padding-top:28px; font-size:14px; color:#616c84; }
.breadcrumb+.interior-hero .page-hero { padding-top:45px; }
.case-film { max-width:1100px; margin:auto; }
.case-film video { display:block; width:100%; height:auto; aspect-ratio:16/9; object-fit:contain; background:#000; border-radius:20px; border:1px solid #384768; box-shadow:0 0 50px #335cff25; }
.case-film.is-portrait { max-width:380px; }
.case-film.is-portrait video { aspect-ratio:9/16; }
.case-web-preview { max-width:1100px; margin:auto; border-radius:20px; overflow:hidden; border:1px solid #415681; background:#101722; box-shadow:0 0 45px #335cff30; }
.case-browser-bar { display:flex; justify-content:space-between; gap:16px; padding:16px 22px; font-size:13px; color:#b3c5e8; }
.case-browser-bar>span:first-child { letter-spacing:3px; color:#6687dc; }
.case-web-preview>img { width:100%; height:auto; }
.case-web-preview .actions { margin:0; padding:30px; }
.case-story-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:40px; }
.case-story-grid .eyebrow { color:#335cff; font-size:12px; }
.case-story-grid h3 { font-size:29px; margin-bottom:20px; }
.case-story-grid article>p:last-child { font-size:18px; line-height:1.55; color:#616c81; }
/* Shared case studies: editorial narrative, creative outcome and mixed-media galleries. */
.case-study-page .interior-hero .page-hero{padding-bottom:62px}
.case-study-page .interior-hero h1{max-width:1000px;text-wrap:balance}
.case-study-page .case-jump{display:inline-flex;align-items:center;gap:12px;min-height:44px;padding:10px 17px;border:1px dashed #9cafed;border-radius:10px;background:#fff;color:#2348d4;font-size:16px;font-weight:700;box-shadow:0 6px 18px #335cff14}
.case-study-page .case-jump span{font-size:21px;line-height:1}
.case-media-stage{padding:100px 0 58px;background:linear-gradient(180deg,#fff,#dbe5ff 30px,#2a3550 64px,#08090c 100px);scroll-margin-top:20px}
.case-media-stage .interior-note{max-width:750px;font-size:14px;color:#b1bdd4}
.case-narrative{padding:86px 0 54px;background:linear-gradient(180deg,#eef3ff,#fff 180px)}
.case-narrative-grid{display:grid;grid-template-columns:.8fr 1.2fr;gap:clamp(32px,7vw,100px);align-items:start}
.case-narrative-heading .eyebrow,.case-photo-heading .eyebrow{font-size:13px;line-height:1.5;color:#626e85;margin-bottom:20px}
.case-narrative h2,.case-photo-heading h2{font-size:clamp(34px,3.4vw,46px);line-height:1.08;letter-spacing:-.055em;margin:0}
.case-narrative h2 strong,.case-photo-heading h2 strong{color:var(--accent)}
.case-narrative-copy{display:grid;gap:34px}
.case-narrative-copy article{position:relative;padding-left:57px;min-width:0}
.case-step{position:absolute;left:0;top:0;display:grid;place-items:center;width:37px;height:37px;border-radius:11px;background:#eaf0ff;color:#335cff;font-size:14px;font-weight:700}
.case-narrative-copy h3{font-size:25px;line-height:1.2;margin:4px 0 14px;letter-spacing:-.025em}
.case-narrative-copy p{font-size:19px;line-height:1.55;margin:0;color:#515d73}
.case-result-section{padding:0 0 76px}
.case-result-board{display:grid;grid-template-columns:1fr 1fr;gap:clamp(32px,5vw,70px);padding:clamp(28px,4.5vw,58px);border:1px solid #415893;border-radius:27px;background:radial-gradient(ellipse at 0 0,#233c88,#111a30 42%,#111319 80%);color:#fff;box-shadow:0 8px 18px #1221401a,0 20px 48px #335cff22}
.case-result-board .eyebrow{color:#b4c5ff;font-size:13px;line-height:1.5;margin-bottom:20px}
.case-result-board h2{font-size:clamp(31px,3vw,40px);line-height:1.1;letter-spacing:-.045em;margin:0 0 23px}
.case-result-board h2 strong{color:#91aaff}
.case-result-board article>p:last-of-type{font-size:18px;line-height:1.6;color:#d1d8e8;margin:0}
.case-deliverables{display:flex;flex-wrap:wrap;gap:10px;list-style:none;margin:25px 0 0;padding:0}
.case-deliverables li{display:inline-flex;align-items:center;gap:8px;max-width:100%;padding:8px 11px;border:1px solid #93acff33;border-radius:9px;background:#ffffff0d;color:#eef2ff;font-size:14px;line-height:1.35}
.case-deliverables li>span{color:#91aaff;font-weight:700}
.case-photo-section{padding:6px 0 82px}
.case-photo-heading{display:flex;justify-content:space-between;align-items:flex-end;gap:30px;margin-bottom:32px}
.case-photo-heading>p{font-size:17px;line-height:1.5;color:#5c677d;margin:0}
.case-study-page .interior-photo-gallery{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));align-items:start;gap:22px}
.case-study-page .interior-photo-gallery .gallery-item{height:auto;aspect-ratio:auto;overflow:hidden;border-radius:17px;background:#eef2fa;border-color:#d7e0f3;box-shadow:0 7px 24px #335cff13}
.case-study-page .interior-photo-gallery .gallery-item img{display:block;width:100%;height:auto;aspect-ratio:auto;object-fit:contain}
@media(max-width:760px){
 .case-study-page .interior-hero .page-hero{padding:42px 0 50px}
 .case-study-page .interior-hero h1{font-size:clamp(36px,9.5vw,52px);overflow-wrap:anywhere}
 .case-study-page .interior-hero .lead{font-size:20px}
 .case-study-page .interior-pills{gap:8px}
 .case-study-page .interior-pills>span{font-size:13px;line-height:1.4;padding:8px 12px;max-width:100%}
 .case-media-stage{padding-top:85px}
 .case-narrative{padding:58px 0 38px}
 .case-narrative-grid{grid-template-columns:1fr;gap:30px}
 .case-narrative-copy{gap:28px}
 .case-narrative-copy article{padding-left:47px}
 .case-narrative-copy h3{font-size:23px}
 .case-narrative-copy p{font-size:17px}
 .case-step{width:33px;height:33px;border-radius:9px}
 .case-result-section{padding-bottom:52px}
 .case-result-board{grid-template-columns:1fr;gap:36px;padding:27px 23px;border-radius:22px}
 .case-result-board article>p:last-of-type{font-size:17px}
 .case-photo-heading{display:block;margin-bottom:25px}
 .case-photo-heading>p{margin-top:20px;font-size:16px}
 .case-study-page .interior-photo-gallery{grid-template-columns:1fr;gap:17px}
 .case-photo-section{padding-bottom:55px}
}
.interior-photo-gallery .gallery-item { aspect-ratio:4/3; border:1px solid #526896; box-shadow:0 8px 25px #335cff15; }
.interior-photo-gallery .gallery-item img { width:100%; height:100%; object-fit:cover; }
.new-contact-layout { display:grid; grid-template-columns:.85fr 1.15fr; gap:65px; align-items:start; }
.new-contact-layout>aside { padding-top:20px; }
.new-contact-layout>aside h3 { font-size:40px; margin-bottom:26px; }
.new-contact-layout>aside p { color:#626e86; font-size:20px; line-height:1.5; }
.new-contact-layout>aside .eyebrow { font-size:12px; color:#335cff; }
.new-contact-layout .interior-checks { margin-block:32px; }
.contact-direct-links { display:grid; gap:17px; font-size:17px; }
.contact-direct-links a { display:flex; align-items:center; gap:14px; overflow-wrap:anywhere; }
.contact-direct-links svg { width:16px; height:16px; flex:none; color:#335cff; }
.new-contact-layout .quote-card { padding:36px; border-radius:25px; background:linear-gradient(145deg,#fff,#f2f6ff); box-shadow:0 12px 40px #335cff14; }
.new-contact-layout .quote-card h2 { font-size:39px; margin-bottom:24px; }
.new-contact-layout .quote-card h2 strong { color:#335cff; }
.new-contact-layout .quote-card>p { font-size:17px; line-height:1.5; color:#616b81; }
.new-contact-layout .quote-card>.eyebrow { font-size:12px; color:#335cff; }
.new-contact-layout label { display:flex; flex-direction:column; gap:9px; font-size:16px; font-weight:700; margin-bottom:22px; }
.new-contact-layout label>span { font-weight:400; font-size:13px; color:#667086; }
.new-contact-layout input,.new-contact-layout select,.new-contact-layout textarea { border-color:#bcc9e5; border-radius:10px; padding:13px; }
.new-contact-layout .fine { font-size:13px; color:#616b81; line-height:1.5; margin-bottom:25px; }
.new-contact-layout .fine a { text-decoration:underline; text-underline-offset:3px; }
.new-contact-layout .quote-review p { font-size:17px; color:#5f6d85; }
.interior-page .legal { padding:40px 38px 65px; margin-bottom:75px; border:1px solid #dce5fa; border-radius:24px; background:#fafbff; }
.interior-page .legal h2 { color:#21345f; }
.interior-page .faq-layout>div>h2 { font-weight:700; }
@media(max-width:1050px) {
 .work-grid { grid-template-columns:repeat(2,minmax(0,1fr)); }
 .work-visual { height:280px; }
 .service-price-card { padding:24px; }
 .service-price>span:first-child { font-size:45px; }
 .service-price-card h3 { font-size:26px; }
 .interior-feature { padding:26px; }
 .interior-closing-board { padding:45px; grid-template-columns:1.6fr 1fr; gap:30px; }
 .interior-closing-board h2 { font-size:43px; }
 .new-contact-layout { gap:30px; }
 .new-team-grid { gap:17px; }
 .new-team-copy { padding:23px; }
}
@media(max-width:760px) {
 .interior-hero .page-hero { padding:45px 0 57px; }
 .interior-hero h1 { font-size:43px; }
 .interior-hero .sticker { font-size:.93em; border-width:3px; padding:3px 9px 6px; margin-top:9px; }
 .team-title-line { flex-direction:column; gap:0; margin-top:7px; }
 .interior-hero .team-rotating-sticker { width:5.4em; margin-top:12px; }
 .interior-hero .eyebrow { font-size:11px; margin-bottom:22px; }
 .interior-hero .lead { font-size:19px; margin-top:26px; }
 .interior-hero .actions { gap:12px; }
 .interior-hero .actions .button { font-size:13px; padding-inline:16px; }
 .interior-pills { gap:7px; margin-top:25px; }
 .interior-pills>span { font-size:12px; padding:8px 12px; }
 .interior-section,.service-pricing { padding:60px 0; }
 .interior-section .section-title { margin-bottom:35px; }
 .interior-feature-grid,.service-price-grid,.service-price-grid.is-web-pricing,.interior-scope-grid,.case-story-grid,.new-contact-layout,.new-team-grid { grid-template-columns:1fr; gap:22px; }
 .interior-feature,.interior-scope-grid>article { padding:29px; }
 .interior-feature h3,.interior-scope-grid h3 { font-size:30px; }
 .interior-checks li { font-size:17px; }
 .interior-scope-grid p { font-size:18px; }
 .portfolio-toolbar { gap:10px; margin-bottom:28px; }
 .portfolio-toolbar .filters { gap:8px; }
 .portfolio-toolbar .filters button { font-size:13px; padding:10px 13px; }
 .portfolio-toolbar>p { padding:0; margin:4px 0 0; }
 .work-grid { grid-template-columns:1fr; gap:24px; }
 .work-visual { height:285px; }
 .work-copy { padding:25px; }
 .work-copy h3 { font-size:30px; }
 .service-price-card { padding:30px; }
 .service-price-card h3 { font-size:31px; }
 .service-price>span:first-child { font-size:53px; }
 .service-price-spacer { display:none; }
 .service-price-card .button { font-size:14px; }
 .service-billing button { padding:11px 14px; font-size:14px; }
 .service-price-card .interior-checks { margin-bottom:29px; }
 .interior-closing { padding:25px 0 60px; }
 .interior-closing-board { grid-template-columns:1fr; padding:32px 25px; gap:40px; border-radius:24px; }
 .interior-closing-board h2 { font-size:37px; }
 .interior-closing-board p { font-size:18px; }
 .interior-closing-board .actions { gap:22px; }
 .interior-closing-board .button { font-size:14px; }
 .closing-team { text-align:left; }
 .closing-team>div { justify-content:flex-start; }
 .closing-team img { width:68px; height:68px; }
 .web-concept-stage { padding-bottom:40px; }
 .web-concept-stack { height:230px; margin-top:0; }
 .web-concept-stack img { width:70%; height:175px; top:20px; border-radius:9px; }
 .web-concept-stack img:nth-child(1) { left:0; top:30px; }
 .web-concept-stack img:nth-child(2) { right:0; top:30px; }
 .web-concept-stack img:nth-child(3) { left:15%; }
 .web-concept-stage .interior-note { margin-top:0; font-size:12px; }
 .social-reel-stage { padding-bottom:35px; }
 .social-reel-stage>.container { width:calc(100% - 24px); }
 .social-reel-stage .offer-reels { border-radius:18px; }
 .new-team-grid { max-width:450px; margin:auto; }
 .new-team-copy { padding:28px; }
 .new-team-copy h2 { font-size:40px; }
 .breadcrumb { padding-top:20px; font-size:12px; }
 .breadcrumb+.interior-hero .page-hero { padding-top:30px; }
 .case-film video { border-radius:14px; }
 .case-film.is-portrait { max-width:320px; }
 .case-story-grid { gap:28px; }
 .case-browser-bar { font-size:10px; padding:12px; }
 .case-web-preview .actions { padding:22px 12px; }
 .case-web-preview .button { font-size:12px; }
 .interior-photo-gallery { grid-template-columns:1fr; }
 .new-contact-layout .quote-card { padding:26px 20px; }
 .new-contact-layout .quote-card h2 { font-size:35px; }
 .new-contact-layout>aside h3 { font-size:35px; }
 .new-contact-layout .field-grid { grid-template-columns:1fr; gap:0; }
 .new-contact-layout .quote-card .button { font-size:13px; gap:12px; }
 .interior-page .legal { padding:25px 20px 40px; font-size:17px; }
}
@media(prefers-reduced-motion:reduce) { .work-card,.work-visual img { transition:none; } .work-card:hover { transform:none; } .team-rotating-sticker .rotating-word { animation:none!important; text-shadow:none!important; } }

/* Selected projects: full-bleed showreel, light cards and blue footer fade. */
.portfolio-page { background:#fbfcff; }
.portfolio-page .portfolio-hero { position:relative; isolation:isolate; overflow:hidden; display:grid; align-items:center; min-height:clamp(540px,42vw,660px); padding:96px 0 120px; background:#eaf0ff; }
.portfolio-hero-grid { position:relative; z-index:1; display:block; pointer-events:none; }
.portfolio-intro { min-width:0; max-width:630px; pointer-events:auto; }
.portfolio-intro .eyebrow { color:#687186; font-size:13px; font-weight:700; letter-spacing:.08em; margin-bottom:22px; }
.portfolio-intro h1 { font-size:clamp(48px,5vw,68px); line-height:1.12; letter-spacing:-.065em; font-weight:700; color:#050505; margin:0 0 30px; }
.portfolio-intro h1 strong { display:block; color:var(--accent); font-weight:700; }
.portfolio-title-line { display:flex; align-items:center; gap:.24em; margin:0 0 .26em; }
.portfolio-intro .portfolio-rotating-sticker { display:inline-flex; align-items:center; justify-content:center; flex:none; width:4.75em; height:1.45em; margin:0; padding:5px 10px!important; font-family:Codec,Arial,sans-serif; font-size:1em; font-weight:700; line-height:1.15; letter-spacing:-.055em; white-space:nowrap; border:3px dashed var(--accent); border-radius:12px; background:#fff; color:#000; box-shadow:0 5px 10px #0001,0 12px 32px #335cff20; }
.portfolio-word-toggle { top:0; right:0; bottom:auto; opacity:0; pointer-events:none; }
.portfolio-word-toggle:focus-visible { opacity:1; pointer-events:auto; }
.portfolio-intro>p:not(.eyebrow) { font-size:21px; line-height:1.45; color:#414958; margin:0; }
.portfolio-intro .actions { justify-content:flex-start; margin-top:30px; }
.portfolio-showreel { position:absolute; inset:0; z-index:0; width:100%; min-width:0; margin:0; pointer-events:none; }
.portfolio-reel-frame { position:absolute; inset:0; overflow:hidden; background:#eaf0ff; }
.portfolio-reel-frame video { display:block; width:100%; height:100%; object-fit:cover; object-position:center; }
.portfolio-showreel::after { content:""; position:absolute; inset:0; background:linear-gradient(0deg,#fbfcff 0%,#fbfcff00 27%),linear-gradient(90deg,#fbfcfff5 0%,#fbfcffdf 30%,#fbfcffad 53%,#fbfcff29 85%); }
.portfolio-showreel figcaption { position:absolute; z-index:1; left:0; right:0; bottom:26px; width:min(1200px,calc(100% - 64px)); margin:0 auto; display:flex; justify-content:flex-end; font-size:14px; }
.portfolio-showreel [data-reel-toggle] { pointer-events:auto; color:#48546e; border:1px solid #dce3f0; border-radius:24px; background:#ffffffd9; font:inherit; cursor:pointer; min-height:40px; padding:9px 15px; }
.portfolio-showreel [data-reel-toggle]:hover { background:#fff; border-color:#a9bbff; color:#244bdd; }
.portfolio-showreel noscript a { position:absolute; z-index:1; bottom:30px; right:32px; pointer-events:auto; font-size:14px; color:#244bdd; background:#fff; padding:10px 15px; border-radius:24px; }
.portfolio-page .portfolio-selection { padding:12px 0 0; }
.portfolio-page .portfolio-toolbar { display:flex; flex-direction:column; align-items:flex-start; gap:17px; margin-bottom:28px; }
.portfolio-page .portfolio-toolbar .filters { display:flex; flex-wrap:wrap; gap:9px; margin:0; }
.portfolio-page .portfolio-toolbar .filters button { padding:10px 15px; min-height:42px; border-radius:30px; background:#fff; border:1px solid #e0e5f0; color:#5f687a; font-weight:400; font-size:14px; box-shadow:0 3px 8px #15275905; }
.portfolio-page .portfolio-toolbar .filters button:hover { border-color:#a3b6ff; color:#244bdd; }
.portfolio-page .portfolio-toolbar .filters button[aria-pressed=true] { background:#335cff; color:#fff; border-color:#335cff; box-shadow:0 5px 14px #335cff24; }
.portfolio-page .portfolio-toolbar>p { padding:0; margin:0; color:#717a8d; font-size:13px; }
.portfolio-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:24px; }
.portfolio-card { position:relative; min-width:0; border-radius:20px; overflow:hidden; background:#fff; border:1px solid #e7eaf1; box-shadow:0 3px 8px #17223a12,0 16px 38px #17223a10; transition:transform .3s,box-shadow .3s,border-color .3s; }
.portfolio-card>a { position:relative; isolation:isolate; display:flex; align-items:flex-end; min-height:430px; height:100%; }
.portfolio-card-image { position:absolute; z-index:-2; inset:0; background:#e8edf8; }
.portfolio-card-image img { display:block; width:100%; height:100%; object-fit:cover; object-position:center top; transition:transform .6s; }
.portfolio-card.is-portrait .portfolio-card-image { background:radial-gradient(ellipse at 50% 25%,#b8c9ec,#e7edf8 62%,#fbfcff); }
.portfolio-card.is-portrait .portfolio-card-image img { object-fit:contain; object-position:center top; }
.portfolio-card>a::after { content:""; position:absolute; inset:0; z-index:-1; background:linear-gradient(180deg,#fbfcff00 20%,#fbfcff20 38%,#fbfcffdc 63%,#fbfcff 83%); pointer-events:none; }
.portfolio-card-copy { width:100%; padding:26px 30px; }
.portfolio-card-copy>p:first-child { margin:0 0 7px; color:#4c566b; font-size:12px; line-height:1.4; letter-spacing:.025em; }
.portfolio-card-copy h2 { margin:0 0 10px; font-size:32px; line-height:1.07; letter-spacing:-.045em; color:#050505; }
.portfolio-card-copy .portfolio-card-description { margin:0 0 20px; font-size:18px; line-height:1.4; color:#313b4d; }
.portfolio-card-bottom { display:flex; justify-content:space-between; align-items:center; gap:15px; }
.portfolio-card-bottom>span:first-child { display:inline-block; padding:6px 11px; border-radius:24px; background:#fff; color:#294dac; font-size:12px; box-shadow:0 3px 4px #15275910,0 7px 15px #1527590b; }
.portfolio-card-arrow { display:grid; place-items:center; width:32px; height:32px; border-radius:50%; background:#fff; color:#314d94; box-shadow:0 4px 10px #15275912; }
.portfolio-card-arrow svg { width:17px; height:17px; }
.portfolio-card:hover,.portfolio-card:focus-within { transform:translateY(-5px); border-color:#b2c2ff; box-shadow:0 5px 12px #17223a13,0 18px 42px #335cff26; }
.portfolio-card:not(.is-portrait):hover .portfolio-card-image img { transform:scale(1.025); }
.portfolio-card a:focus-visible { outline:3px solid #335cff; outline-offset:-4px; border-radius:20px; }
.portfolio-more { display:flex; justify-content:center; margin:28px 0 0; }
.portfolio-more button { display:inline-flex; align-items:center; gap:13px; min-height:44px; padding:10px 19px; border:0; background:transparent; color:#555f74; font:inherit; font-size:14px; text-transform:uppercase; cursor:pointer; }
.portfolio-more button:hover { color:#244bdd; }
.portfolio-more button span { font-size:23px; line-height:1; }
.portfolio-note { max-width:770px; margin:32px auto 0; font-size:13px; line-height:1.6; text-align:center; color:#717a8d; }
.portfolio-footer-fade { height:190px; background:linear-gradient(180deg,#fbfcff,#f2f5ff 20%,#dce5ff 58%,#b9ccff); }
.portfolio-page .footer { background:#b9ccff; padding:0 24px 28px; }
.portfolio-page .footer>.container { width:min(1440px,100%); padding:70px clamp(32px,6vw,100px) 28px; border-radius:48px; background:#090a0d; box-shadow:0 12px 25px #142e791c; }
@media(max-width:1050px) {
 .portfolio-intro h1 { font-size:52px; }
 .portfolio-intro>p:not(.eyebrow) { font-size:19px; }
 .portfolio-card>a { min-height:410px; }
 .portfolio-card-copy { padding:24px; }
 .portfolio-card-copy h2 { font-size:29px; }
 .portfolio-card-copy .portfolio-card-description { font-size:17px; }
}
@media(max-width:760px) {
 .portfolio-page .portfolio-hero { min-height:clamp(560px,calc(92svh - 76px),720px); padding:76px 0 110px; }
 .portfolio-hero-grid { width:calc(100% - 2 * clamp(20px,6.5vw,28px)); }
 .portfolio-intro h1 { font-size:clamp(40px,10.5vw,60px); margin-bottom:30px; }
 .portfolio-intro .eyebrow { font-size:12px; margin-bottom:26px; }
 .portfolio-intro>p:not(.eyebrow) { font-size:19px; }
 .portfolio-intro .actions { margin-top:25px; }
 .portfolio-showreel::after { background:linear-gradient(0deg,#fbfcff 0%,#fbfcff00 24%),linear-gradient(90deg,#fbfcffdf 0%,#fbfcffcf 48%,#fbfcff80 100%); }
 .portfolio-showreel figcaption { width:calc(100% - 2 * clamp(20px,6.5vw,28px)); bottom:24px; justify-content:flex-start; }
 .portfolio-showreel noscript a { left:24px; right:auto; }
 .portfolio-page .portfolio-toolbar .filters { gap:7px; }
 .portfolio-page .portfolio-toolbar .filters button { font-size:12px; padding:9px 12px; min-height:38px; }
 .portfolio-grid { grid-template-columns:1fr; gap:23px; }
 .portfolio-card>a { min-height:390px; }
 .portfolio-card-copy { padding:24px; }
 .portfolio-card-copy h2 { font-size:30px; }
 .portfolio-card-copy .portfolio-card-description { font-size:17px; }
 .portfolio-note { font-size:12px; margin-top:25px; }
 .portfolio-footer-fade { height:110px; }
 .portfolio-page .footer { padding:0 12px 12px; }
 .portfolio-page .footer>.container { padding:38px 24px 26px; border-radius:28px; }
 .portfolio-page .footer-email { font-size:17px; }
}
@media(prefers-reduced-motion:reduce) {
 .portfolio-card,.portfolio-card-image img { transition:none; }
 .portfolio-card:hover,.portfolio-card:focus-within,.portfolio-card:not(.is-portrait):hover .portfolio-card-image img { transform:none; }
}
