:root{--bg:#eef7ff;--surface:#fff;--surface2:#d9eeff;--ink:#071c44;--muted:#587090;--accent:#1458ff;--soft:#7ed7ff;--border:rgba(7,28,68,.16);--shadow:0 24px 70px rgba(14,65,148,.12);--radius:28px;--pad:clamp(1.2rem,4.2vw,5.2rem);--display:'Playfair Display',Georgia,serif;--sans:'DM Sans',Arial,sans-serif}
html[data-theme=studio]{--bg:#f6f6f4;--surface:#fff;--surface2:#ececea;--ink:#171717;--muted:#686868;--accent:#202020;--soft:#d8d8d5;--border:rgba(23,23,23,.18);--shadow:none;--radius:2px;--display:'Manrope',Arial,sans-serif;--sans:'Manrope',Arial,sans-serif}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--bg);color:var(--ink);font:16px/1.58 var(--sans);overflow-x:hidden;transition:.35s}button,input,textarea{font:inherit;color:inherit}a{color:inherit}::selection{background:var(--soft)}.skip-link{position:fixed;left:1rem;top:-5rem;z-index:100;background:var(--ink);color:var(--surface);padding:.8rem 1rem}.skip-link:focus{top:1rem}
.site-header{position:fixed;z-index:30;top:1rem;left:var(--pad);right:var(--pad);min-height:66px;padding:.65rem .75rem .65rem 1.1rem;display:grid;grid-template-columns:auto 1fr auto;align-items:center;gap:2rem;background:color-mix(in srgb,var(--surface) 88%,transparent);border:1px solid var(--border);border-radius:999px;box-shadow:0 10px 40px rgba(9,41,95,.08);backdrop-filter:blur(18px)}html[data-theme=studio] .site-header{top:0;left:0;right:0;min-height:76px;border-width:0 0 1px;border-radius:0;box-shadow:none;padding-inline:var(--pad)}.wordmark{font-weight:800;letter-spacing:-.06em;font-size:1.25rem;text-decoration:none}.wordmark span{color:var(--accent)}nav{justify-self:center;display:flex;align-items:center;gap:clamp(.8rem,2vw,2rem)}nav a{font-size:.86rem;font-weight:600;text-decoration:none}nav a:hover{color:var(--accent)}.nav-cta{padding:.65rem 1rem;border-radius:99px;background:var(--ink);color:var(--surface)}.menu-toggle{display:none;border:0;background:transparent;cursor:pointer}.theme-switch{display:flex;gap:.2rem;padding:.22rem;background:var(--surface2);border-radius:99px}.theme-option{border:0;border-radius:99px;padding:.45rem .7rem;background:transparent;font-size:.75rem;font-weight:700;cursor:pointer}.theme-option.active{background:var(--surface);box-shadow:0 2px 10px rgba(0,0,0,.08)}
.hero{position:relative;min-height:100svh;padding:clamp(10rem,15vw,13rem) var(--pad) 5rem;display:grid;grid-template-columns:minmax(0,1fr) 260px;gap:4rem;align-items:end;isolation:isolate;overflow:hidden}.hero-copy{max-width:1120px}.kicker,.section-label{font-size:.76rem;font-weight:700;letter-spacing:.14em;text-transform:uppercase}.kicker{color:var(--accent)}.hero h1{margin:1.3rem 0 2rem;max-width:15ch;font:500 clamp(3.6rem,8vw,8.2rem)/.92 var(--display);letter-spacing:-.055em}.hero h1 em,.about h2 em{color:var(--accent)}html[data-theme=studio] .hero h1 em,html[data-theme=studio] .about h2 em{font-style:normal;text-decoration:underline;text-decoration-thickness:.08em;text-underline-offset:.12em}.hero-intro{max-width:650px;margin:0;color:var(--muted);font-size:clamp(1.08rem,1.7vw,1.35rem)}.hero-actions{display:flex;align-items:center;gap:1.5rem;margin-top:2.2rem}.button{display:inline-flex;align-items:center;justify-content:center;gap:2rem;border:1px solid var(--ink);padding:.95rem 1.25rem;border-radius:99px;text-decoration:none;font-weight:700;cursor:pointer}.button-primary{background:var(--ink);color:var(--surface)}.button-primary:hover{background:var(--accent);border-color:var(--accent);color:#fff}.text-link{text-underline-offset:.35rem;font-weight:600}.hero-note{align-self:end;display:flex;gap:.8rem;padding:1rem;border:1px solid var(--border);border-radius:var(--radius);background:color-mix(in srgb,var(--surface) 76%,transparent)}.hero-note p{margin:0;color:var(--muted);font-size:.84rem}.hero-note strong{color:var(--ink)}.status-dot{flex:0 0 auto;width:9px;height:9px;margin-top:.35rem;border-radius:50%;background:var(--accent);box-shadow:0 0 0 5px color-mix(in srgb,var(--accent) 12%,transparent)}.wave-field{position:absolute;z-index:-1;inset:15% -10% auto auto;width:66vw;height:55vw;max-height:660px;opacity:.6;transform:rotate(-7deg)}.wave-field span{position:absolute;inset:0;border:2px solid var(--soft);border-left-color:transparent;border-radius:43% 57% 63% 37%/46% 38% 62% 54%;animation:drift 18s linear infinite}.wave-field span:nth-child(2){inset:9%;border-color:color-mix(in srgb,var(--accent) 45%,transparent);animation-duration:24s;animation-direction:reverse}.wave-field span:nth-child(3){inset:19%;animation-duration:15s}html[data-theme=studio] .wave-field{display:none}@keyframes drift{to{transform:rotate(360deg)}}
.section{padding:clamp(5.5rem,10vw,10rem) var(--pad);border-top:1px solid var(--border)}.section-label{display:flex;align-items:center;gap:.8rem;margin-bottom:clamp(3.5rem,7vw,7rem);color:var(--muted)}.section-label span{display:grid;place-items:center;width:2rem;height:2rem;border:1px solid var(--border);border-radius:50%;color:var(--accent)}.about,.services{background:var(--surface)}.about-grid{display:grid;grid-template-columns:1.08fr .92fr;gap:clamp(3rem,9vw,10rem)}.about h2,.work-heading h2,.services-heading h2,.process h2,.contact h2{margin:0;font:500 clamp(2.8rem,5.5vw,6rem)/1 var(--display);letter-spacing:-.05em}.about-copy{max-width:700px}.about-copy>p{color:var(--muted)}.about-copy .lead{margin-top:0;color:var(--ink);font-size:1.3rem}.stats{display:grid;grid-template-columns:repeat(3,1fr);gap:1rem;margin-top:3rem;padding-top:2rem;border-top:1px solid var(--border)}.stats strong{display:block;font:500 3rem/1 var(--display)}.stats span{display:block;margin-top:.5rem;color:var(--muted);font-size:.8rem}
.work-heading,.services-heading{display:grid;grid-template-columns:1fr minmax(280px,.55fr);gap:4rem;align-items:end;margin-bottom:4rem}.work-heading p,.services-heading p{color:var(--muted);font-size:1.1rem}.project-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:1.2rem;align-items:stretch}.project-card{min-width:0}.project-open{display:flex;flex-direction:column;width:100%;height:100%;min-height:620px;padding:0;border:1px solid var(--border);border-radius:var(--radius);overflow:hidden;background:var(--surface);text-align:left;cursor:pointer;box-shadow:var(--shadow)}.project-art{position:relative;min-height:275px;padding:1.4rem;display:flex;flex-direction:column;justify-content:space-between;overflow:hidden;color:#fff}.project-index,.project-art i{position:relative;z-index:2;font-size:.72rem;font-weight:700;font-style:normal;text-transform:uppercase;letter-spacing:.1em}.project-art strong{position:relative;z-index:2;font:500 clamp(3.8rem,6vw,6.8rem)/.8 var(--display);letter-spacing:-.08em}.art-mipim{background:linear-gradient(145deg,#082660,#1368e8 52%,#69cdf7)}.art-mipim:after{content:'';position:absolute;width:80%;aspect-ratio:1;right:-25%;top:-40%;border:2px solid rgba(255,255,255,.36);border-radius:47% 53% 32% 68%;transform:rotate(20deg)}.art-multi{background:#102b50}.brand-stack{display:grid;grid-template-columns:repeat(2,1fr);gap:.45rem}.brand-stack span{padding:.8rem;border:1px solid rgba(255,255,255,.28);border-radius:99px;text-align:center;font-weight:700}.art-personal{background:#2677ff}.art-personal strong{font-size:clamp(3.6rem,5vw,5.8rem)}.mini-bars{display:flex;align-items:end;gap:8px;height:85px}.mini-bars span{flex:1;height:24%;border-radius:99px 99px 0 0;background:rgba(255,255,255,.8)}.mini-bars span:nth-child(2){height:42%}.mini-bars span:nth-child(3){height:66%}.mini-bars span:nth-child(4){height:100%}.project-copy{flex:1;padding:clamp(1.5rem,2.6vw,2.4rem);display:flex;flex-direction:column;align-items:flex-start}.project-copy>span{color:var(--accent);font-size:.75rem;font-weight:700;text-transform:uppercase;letter-spacing:.12em}.project-copy h3{margin:1rem 0;font:500 clamp(1.65rem,2.15vw,2.35rem)/1.05 var(--display);letter-spacing:-.04em}.project-copy p{margin:0;color:var(--muted)}.project-copy b{margin-top:auto;padding-top:1.5rem;font-size:.8rem;text-transform:uppercase;letter-spacing:.1em}.project-open:hover .project-copy b,.project-open:focus-visible .project-copy b{color:var(--accent)}.project-open:focus-visible{outline:3px solid var(--accent);outline-offset:4px}html[data-theme=studio] .project-grid{gap:1px;background:var(--border);border:1px solid var(--border)}html[data-theme=studio] .project-open{border:0}html[data-theme=studio] .art-mipim{background:#202020}html[data-theme=studio] .art-multi{background:#6c6c6a}html[data-theme=studio] .art-personal{background:#bcbcb8;color:#171717}
.service-grid{display:grid;grid-template-columns:minmax(0,.86fr) minmax(0,1.14fr);gap:1rem;align-items:start}.service-card{min-height:0;padding:clamp(1.5rem,3vw,2.7rem);border:1px solid var(--border);border-radius:var(--radius);background:var(--surface);display:flex;flex-direction:column;overflow:hidden}.service-card>span{align-self:flex-end;font:500 2rem var(--display)}.service-type{margin-top:2rem;color:var(--accent);font-family:var(--display);font-style:italic}.service-card h3{margin:.5rem 0 1rem;font:500 clamp(2rem,3vw,3rem)/1.05 var(--display)}.service-card>p:not(.service-type),.service-card li{color:var(--muted)}.service-card ul{padding-left:1.15rem}.service-audit{background:linear-gradient(145deg,#f5e6d4,#dfbea0);color:#32180f}.service-audit>p:not(.service-type),.service-audit li{color:#674737}.service-packages{background:linear-gradient(145deg,#4b1d10,#743219 65%,#8d4725);color:#fff}.service-packages .service-type{color:#efbd8d}.service-packages>p:not(.service-type){color:rgba(255,255,255,.72)}.package-list{list-style:none;margin:2rem 0 0;padding:0;border-top:1px solid rgba(255,255,255,.24)}.package-list li{display:grid;grid-template-columns:3rem 1fr;gap:.8rem;padding:1rem 0;border-bottom:1px solid rgba(255,255,255,.24);color:#fff}.package-list li>span{padding-top:.18rem;color:#efbd8d;font-size:.75rem;font-weight:700;letter-spacing:.12em}.package-list strong{display:block;color:#fff;font:500 1.45rem/1.1 var(--display)}.package-list p{margin:.35rem 0 0;color:rgba(255,255,255,.7);font-size:.9rem}.capability-row{display:flex;flex-wrap:wrap;gap:.6rem;margin-top:2rem}.capability-row span{padding:.7rem 1rem;border:1px solid var(--border);border-radius:99px;color:var(--muted);font-size:.88rem}html[data-theme=studio] .service-grid{gap:1rem;background:transparent;border:0}html[data-theme=studio] .service-card{border:1px solid var(--border)}
.process{background:var(--ink);color:var(--surface)}.process .section-label{color:color-mix(in srgb,var(--surface) 60%,transparent)}.process-grid{display:grid;grid-template-columns:repeat(4,1fr);margin-top:5rem;border-top:1px solid color-mix(in srgb,var(--surface) 20%,transparent);border-left:1px solid color-mix(in srgb,var(--surface) 20%,transparent)}.process-grid article{min-height:280px;padding:1.5rem;border-right:1px solid color-mix(in srgb,var(--surface) 20%,transparent);border-bottom:1px solid color-mix(in srgb,var(--surface) 20%,transparent)}.process-grid article>span{color:var(--soft);font:500 2.5rem var(--display)}.process-grid h3{margin-top:4rem;font-size:1.15rem}.process-grid p{color:color-mix(in srgb,var(--surface) 65%,transparent);font-size:.92rem}
.contact{background:var(--accent);color:#fff}.contact .section-label,.contact .kicker{color:rgba(255,255,255,.72)}.contact-grid{display:grid;grid-template-columns:1fr .8fr;gap:clamp(3rem,9vw,10rem)}.contact-grid>div>p:not(.kicker){max-width:580px;color:rgba(255,255,255,.78);font-size:1.05rem}.contact-grid>div>a{display:inline-block;margin-top:1rem;text-underline-offset:.3rem}form{padding:clamp(1.4rem,3vw,2.5rem);background:var(--surface);color:var(--ink);border-radius:var(--radius);box-shadow:var(--shadow)}label{display:block;margin:1rem 0 .4rem;font-size:.78rem;font-weight:700}label:first-child{margin-top:0}input,textarea{width:100%;padding:.9rem 0;border:0;border-bottom:1px solid var(--border);border-radius:0;outline:none;background:transparent}textarea{resize:vertical}input:focus,textarea:focus{border-color:var(--accent);box-shadow:0 1px 0 var(--accent)}form .button{width:100%;margin-top:1.5rem}.form-note{margin:.8rem 0 0;color:var(--muted);font-size:.74rem;text-align:center}html[data-theme=studio] .contact{background:#202020}
footer{padding:2.5rem var(--pad);display:grid;grid-template-columns:auto 1fr auto auto;align-items:center;gap:2rem;background:var(--surface);border-top:1px solid var(--border);font-size:.75rem;color:var(--muted)}footer p{margin:0}.socials{display:flex;gap:1rem}
dialog{width:min(1100px,calc(100% - 2rem));max-height:calc(100svh - 2rem);padding:clamp(2rem,5vw,5rem);border:0;border-radius:var(--radius);background:var(--surface);color:var(--ink);box-shadow:0 30px 100px rgba(0,0,0,.28)}dialog::backdrop{background:rgba(4,16,40,.72);backdrop-filter:blur(8px)}.dialog-close{position:absolute;right:1.3rem;top:1.2rem;padding:.35rem .65rem;border:1px solid var(--border);border-radius:99px;background:transparent;cursor:pointer;font-size:.75rem}.dialog-meta{color:var(--accent);font-size:.76rem;font-weight:700;text-transform:uppercase;letter-spacing:.12em}dialog h2{margin:1rem 0;max-width:14ch;font:500 clamp(2.5rem,6vw,5.5rem)/.95 var(--display);letter-spacing:-.05em}.dialog-intro{max-width:680px;color:var(--muted);font-size:1.15rem}.dialog-details{display:grid;grid-template-columns:repeat(3,1fr);gap:2rem;margin-top:3rem;padding-top:2rem;border-top:1px solid var(--border)}.dialog-details span{color:var(--accent);font-size:.72rem;font-weight:700;text-transform:uppercase;letter-spacing:.1em}.dialog-details p{color:var(--muted);font-size:.9rem}
.art-supercar{background:linear-gradient(145deg,#07111f,#173c68)}.art-supercar strong{font-family:var(--sans);font-style:italic;font-weight:800;letter-spacing:-.07em}.speed-lines{display:grid;gap:.5rem;transform:skewX(-18deg)}.speed-lines span{display:block;height:2px;background:rgba(255,255,255,.6)}.speed-lines span:nth-child(2){width:76%;margin-left:auto}.speed-lines span:nth-child(3){width:48%;margin-left:auto}.art-audit{background:linear-gradient(145deg,#1b62de,#77d1f4)}.art-audit strong{font-size:clamp(2.8rem,3.6vw,4.4rem);line-height:.86}.audit-tags{display:flex;flex-wrap:wrap;gap:.4rem}.audit-tags span{padding:.38rem .65rem;border:1px solid rgba(255,255,255,.45);border-radius:99px;font-size:.68rem;font-weight:700;text-transform:uppercase;letter-spacing:.06em}html[data-theme=studio] .art-supercar{background:#4c4c4b}html[data-theme=studio] .art-audit{background:#bcbcb8;color:#171717}html[data-theme=studio] .art-audit .audit-tags span{border-color:rgba(23,23,23,.4)}
.thumbnail-art{isolation:isolate;background:#11284e}.thumbnail-art>img{position:absolute;z-index:-2;inset:0;width:100%;height:100%;object-fit:cover;transition:transform .45s ease}.thumbnail-overlay{position:absolute;z-index:-1;inset:0;background:linear-gradient(180deg,rgba(4,16,35,.48) 0%,rgba(4,16,35,.08) 38%,rgba(4,16,35,.82) 100%)}.thumbnail-title{margin-top:auto;margin-bottom:auto;font-size:clamp(2.7rem,4vw,4.6rem)!important;line-height:.88!important;color:#fff;text-shadow:0 3px 24px rgba(0,0,0,.25)}.project-open:hover .thumbnail-art>img{transform:scale(1.035)}html[data-theme=studio] .thumbnail-art{color:#fff}html[data-theme=studio] .thumbnail-overlay{background:linear-gradient(180deg,rgba(0,0,0,.52),rgba(0,0,0,.1) 40%,rgba(0,0,0,.78))}
.dialog-gallery{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1rem;margin-top:3rem;padding-top:2rem;border-top:1px solid var(--border)}.dialog-gallery figure{margin:0;min-width:0;border:1px solid var(--border);border-radius:calc(var(--radius) * .65);overflow:hidden;background:var(--bg)}.dialog-gallery img{display:block;width:100%;height:auto}.dialog-gallery figcaption{padding:.8rem 1rem;color:var(--muted);font-size:.78rem;font-weight:700;text-transform:uppercase;letter-spacing:.08em}.gallery-placeholder{min-height:260px;padding:1.5rem;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;background:repeating-linear-gradient(135deg,var(--surface),var(--surface) 10px,var(--surface2) 10px,var(--surface2) 20px)!important}.gallery-placeholder strong{font:500 1.4rem var(--display)}.gallery-placeholder span{margin-top:.35rem;color:var(--muted);font-size:.8rem}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*:before,*:after{animation-duration:.01ms!important;transition-duration:.01ms!important}}
@media(max-width:980px){.site-header{grid-template-columns:auto auto 1fr}.menu-toggle{display:block;justify-self:end}nav{display:none;position:absolute;top:calc(100% + .5rem);left:0;right:0;padding:1.2rem;background:var(--surface);border:1px solid var(--border);border-radius:22px;flex-direction:column;align-items:flex-start}nav.open{display:flex}.theme-switch{justify-self:end}.hero{grid-template-columns:1fr}.hero-note{max-width:320px}.about-grid,.contact-grid{grid-template-columns:1fr}.project-grid{grid-template-columns:1fr}.project-open{min-height:0}.project-art{min-height:300px}.service-grid{grid-template-columns:1fr}.service-card{min-height:auto}.service-type{margin-top:3rem}html[data-theme=studio] .service-card{border-width:0 0 1px}.process-grid{grid-template-columns:repeat(2,1fr)}footer{grid-template-columns:1fr 1fr}}
@media(max-width:720px){.site-header{top:.6rem;left:.7rem;right:.7rem;gap:.5rem;padding-left:.8rem}html[data-theme=studio] .site-header{top:0;left:0;right:0}.theme-option{padding:.42rem .55rem}.hero{padding-top:8.5rem}.hero h1{font-size:clamp(3.2rem,15vw,5.5rem)}.hero-actions{align-items:flex-start;flex-direction:column}.work-heading,.services-heading{grid-template-columns:1fr;gap:1.5rem}.stats{grid-template-columns:repeat(2,1fr)}.stats div:last-child{grid-column:1/-1}.process-grid{grid-template-columns:1fr}.process-grid article{min-height:220px}.process-grid h3{margin-top:2.5rem}.dialog-details{grid-template-columns:1fr;gap:.6rem}footer{grid-template-columns:1fr}.socials{flex-direction:column;gap:.3rem}}
@media(max-width:420px){.theme-switch{position:fixed;left:50%;bottom:1rem;transform:translateX(-50%);z-index:50;box-shadow:0 8px 32px rgba(0,0,0,.18)}.site-header{grid-template-columns:auto 1fr}.hero h1{font-size:3.2rem}}
@media(max-width:720px){.dialog-gallery{grid-template-columns:1fr}.gallery-placeholder{min-height:210px}}

/* Warm autumn palette inspired by the supplied colour reference. Typography is unchanged. */
:root{--bg:#f3e7d8;--surface:#fffaf4;--surface2:#dec3a6;--ink:#32180f;--muted:#765848;--accent:#7a2f12;--soft:#d5a06f;--border:rgba(50,24,15,.17);--shadow:0 24px 70px rgba(86,38,17,.14)}
html[data-theme=studio]{--bg:#f3f0eb;--surface:#fffdf9;--surface2:#e4ddd4;--ink:#2d211b;--muted:#71645b;--accent:#6f3c25;--soft:#ceb49d;--border:rgba(45,33,27,.18)}
.site-header{box-shadow:0 10px 40px rgba(70,31,14,.1)}
.process{background:linear-gradient(145deg,#2d130b,#5d2411 62%,#8a431f)}
.contact{background:linear-gradient(145deg,#6b260e,#8d3d18 58%,#aa5c2c)}
html[data-theme=studio] .contact{background:linear-gradient(145deg,#39271d,#68422d)}
dialog::backdrop{background:rgba(38,17,9,.74)}

/* Compact portfolio flow: clear first screen, work immediately visible, breathing room retained. */
.site-header{grid-template-columns:auto 1fr}
.site-header nav{justify-self:end}
.hero{min-height:0;padding:clamp(8.5rem,12vw,10.5rem) var(--pad) clamp(4rem,7vw,6rem);grid-template-columns:minmax(0,1fr);align-items:center}
.hero-copy{max-width:1080px}
.hero h1{max-width:13ch;margin:1rem 0 1.5rem;font-size:clamp(3.4rem,7.2vw,7.4rem);line-height:.94}
.hero-intro{max-width:720px}
.hero-actions{margin-top:1.8rem}
.hero-proof{margin:2rem 0 0;color:var(--muted);font-size:.86rem;font-weight:600}
.hero-proof span{padding:0 .5rem;color:var(--accent)}
.wave-field{inset:12% -8% auto auto;width:54vw;height:42vw;max-height:520px;opacity:.34}
.section{padding:clamp(4.75rem,7.5vw,7.5rem) var(--pad)}
.section-label{margin-bottom:clamp(2.25rem,4vw,3.75rem)}
#work{padding-top:clamp(3.75rem,6vw,5.5rem)}
.work-heading,.services-heading{margin-bottom:3rem}
.project-open{min-height:580px}

@media(max-width:980px){.site-header{grid-template-columns:auto auto}.site-header nav{justify-self:stretch}.hero{padding-top:8.5rem}.wave-field{width:75vw;height:58vw}.project-open{min-height:0}}
@media(max-width:720px){.hero{padding-top:7.5rem;padding-bottom:3.5rem}.hero h1{font-size:clamp(3rem,14vw,4.8rem)}.hero-actions{gap:1rem}.hero-proof{line-height:1.8}.hero-proof span{padding:0 .25rem}.section{padding-block:4.25rem}.section-label{margin-bottom:2rem}.work-heading,.services-heading{margin-bottom:2.5rem}}

.dialog-toolkit{display:grid;gap:0;margin-top:2.25rem;padding:1.15rem 0;border-top:1px solid var(--border);border-bottom:1px solid var(--border);color:var(--ink)}
.dialog-toolkit[hidden]{display:none}
.dialog-toolkit>div{display:grid;grid-template-columns:130px minmax(0,1fr);align-items:center;min-width:0;padding:.7rem 0}
.dialog-toolkit>div+div{border-top:1px solid var(--border)}
.dialog-toolkit>div>span{color:var(--accent);font-size:.7rem;font-weight:700;letter-spacing:.13em;text-transform:uppercase}
.dialog-tags{display:flex;flex-wrap:wrap;align-items:center;gap:0}
.dialog-tags span{font-size:.86rem;font-weight:600;line-height:1.5}
.dialog-tags span:not(:last-child)::after{content:' / ';padding:0 .45rem;color:var(--soft)}
.dialog-toolkit>div:first-child .dialog-tags span{font:500 1.3rem/1.2 var(--display);letter-spacing:-.02em}
.dialog-gallery{align-items:start}
.dialog-gallery video{display:block;width:100%;max-height:720px;background:#17120f;object-fit:contain}
@media(max-width:720px){.dialog-toolkit>div{grid-template-columns:1fr;gap:.45rem}}

/* Keep the two service offers balanced without forcing a large empty area. */
@media(min-width:981px){
  .service-grid{grid-template-columns:repeat(2,minmax(0,1fr));align-items:stretch}
  .service-card{height:100%}
  .service-card>ul,.service-card>.package-list{margin-top:auto}
  .service-audit ul{list-style:none;margin-bottom:0;padding:0;border-top:1px solid rgba(50,24,15,.2)}
  .service-audit li{padding:.9rem 0;border-bottom:1px solid rgba(50,24,15,.2)}
  .package-list{margin-bottom:0}
  .package-list li{padding:.9rem 0}
  .package-list p{margin-top:.25rem}
}

/* A centred portrait anchors the About section without becoming a second hero. */
.about-grid{grid-template-columns:minmax(260px,.72fr) minmax(0,1.28fr);grid-template-areas:'portrait heading' 'portrait copy';gap:2rem clamp(2.5rem,7vw,8rem);align-items:start}
.about-grid>h2{grid-area:heading}
.about-copy{grid-area:copy;margin-top:.5rem}
.about-portrait{grid-area:portrait;width:100%;max-width:360px;margin:0;justify-self:center;align-self:center;aspect-ratio:4/5;overflow:hidden;border:1px solid var(--border);border-radius:clamp(22px,3vw,38px);background:var(--soft);box-shadow:var(--shadow)}
.about-portrait img{display:block;width:100%;height:100%;object-fit:cover;object-position:center}
@media(max-width:980px){.about-grid{grid-template-columns:1fr;grid-template-areas:'heading' 'portrait' 'copy';gap:2.25rem}.about-copy{margin-top:0}.about-portrait{width:min(100%,320px);justify-self:center}}
@media(max-width:520px){.about-portrait{width:min(82vw,290px)}}

/* A quiet shortcut for long-page browsing. */
.back-to-top{position:fixed;z-index:40;right:clamp(.8rem,2vw,1.5rem);bottom:calc(clamp(.8rem,2vw,1.5rem) + env(safe-area-inset-bottom));display:grid;place-items:center;width:3rem;height:3rem;padding:0;border:1px solid color-mix(in srgb,var(--surface) 55%,transparent);border-radius:50%;background:var(--ink);color:var(--surface);box-shadow:0 12px 32px rgba(50,24,15,.2);font-size:1.35rem;line-height:1;cursor:pointer;opacity:0;pointer-events:none;transform:translateY(.65rem);transition:opacity .22s ease,transform .22s ease,background-color .2s ease}
.back-to-top.is-visible{opacity:1;pointer-events:auto;transform:translateY(0)}
.back-to-top:hover{background:var(--accent);color:#fff}
.back-to-top:focus-visible{outline:3px solid var(--soft);outline-offset:4px}
@media(max-width:420px){.back-to-top{width:2.75rem;height:2.75rem;font-size:1.2rem}}

/* Option 2: an editorial About layout available through the comparison link. */
.about-option-two .about-grid{grid-template-columns:minmax(0,1fr) minmax(250px,.48fr);grid-template-areas:'heading heading' 'copy portrait';gap:clamp(2rem,4vw,4rem) clamp(2rem,6vw,7rem);align-items:start}
.about-option-two .about-grid>h2{padding:.8rem 0 1.5rem;border-top:4px solid var(--ink);border-bottom:1px solid var(--border);font-size:clamp(3.2rem,6vw,6.6rem)}
.about-option-two .about-copy{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1.25rem 2rem;max-width:none;margin:0}
.about-option-two .about-copy .lead,.about-option-two .about-copy .stats{grid-column:1/-1}
.about-option-two .about-copy>p{margin:0}
.about-option-two .about-portrait{width:100%;max-width:340px;justify-self:end;align-self:start;aspect-ratio:1}
@media(max-width:980px){.about-option-two .about-grid{grid-template-columns:1fr;grid-template-areas:'heading' 'portrait' 'copy';gap:2.25rem}.about-option-two .about-copy{grid-template-columns:1fr}.about-option-two .about-copy .lead,.about-option-two .about-copy .stats{grid-column:auto}.about-option-two .about-portrait{width:min(100%,320px);justify-self:center}}
