    :root{--ink:#102f31;--ink-2:#1c4746;--paper:#f2f0e9;--mist:#d9e6df;--line:rgba(16,47,49,.2);--accent:#d68158;--white:#fffdf7;--font-sans:'DM Sans',Arial,sans-serif;--font-display:'Playfair Display',Georgia,serif}
    *{box-sizing:border-box}html{scroll-behavior:auto}body{margin:0;background:var(--paper);color:var(--ink);font-family:var(--font-sans);-webkit-font-smoothing:antialiased}body.menu-open{overflow:hidden}a{color:inherit;text-decoration:none}button{font:inherit}button,a{-webkit-tap-highlight-color:transparent}button:focus-visible,a:focus-visible{outline:2px solid var(--accent);outline-offset:5px}::selection{background:var(--accent);color:var(--white)}
    .site-shell{overflow:clip}.eyebrow{font-size:.7rem;font-weight:700;letter-spacing:.16em;text-transform:uppercase}.wrap{width:min(100% - 64px,1440px);margin-inline:auto}.arrow{font-size:1.2em;line-height:0;display:inline-block;transition:transform .35s ease}.text-link:hover .arrow,.button:hover .arrow{transform:translate(4px,-4px)}
    .header{position:absolute;inset:0 0 auto;z-index:30;color:var(--white)}.header-inner{height:84px;display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid rgba(255,255,255,.2)}.brand{font-weight:700;font-size:1.3rem;letter-spacing:-.075em;line-height:1}.brand span{display:block;font-size:.55rem;font-weight:500;letter-spacing:.2em;text-transform:uppercase;margin-top:6px}.nav{display:flex;align-items:center;gap:38px}.nav a{font-size:.74rem;font-weight:700;letter-spacing:.11em;text-transform:uppercase;position:relative}.nav a::after{content:'';position:absolute;left:0;right:100%;bottom:-7px;height:1px;background:currentColor;transition:right .3s}.nav a:hover::after{right:0}.nav-cta{border:1px solid rgba(255,255,255,.5);padding:13px 18px}.menu-button{display:none;background:none;border:0;color:inherit;text-transform:uppercase;font-size:.72rem;font-weight:700;letter-spacing:.12em;cursor:pointer}
    .hero{min-height:100svh;background:var(--ink);color:var(--white);position:relative;isolation:isolate;overflow:hidden;display:flex;align-items:flex-end;padding:145px 0 42px}.hero::before{content:'';position:absolute;inset:0;background:radial-gradient(circle at 69% 37%,rgba(118,167,151,.23),transparent 35%),linear-gradient(90deg,rgba(5,24,26,.5),transparent 75%);z-index:-1}.hero-grid{position:absolute;inset:0;opacity:.15;background-image:linear-gradient(rgba(255,255,255,.16) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.16) 1px,transparent 1px);background-size:11.1% 25%;mask-image:linear-gradient(90deg,transparent,black)}.hero-orb{position:absolute;width:min(61vw,880px);aspect-ratio:1;right:-8%;top:4%;border-radius:50%;background:radial-gradient(circle at 38% 35%,#9bbdb0 0%,#4b8278 28%,#173e40 62%,#0a2428 75%);box-shadow:inset 35px -48px 110px rgba(0,0,0,.35),0 40px 90px rgba(0,0,0,.3);opacity:.95}.hero-orb::before,.hero-orb::after{content:'';position:absolute;border:1px solid rgba(231,238,219,.28);border-radius:50%;inset:-12%;transform:rotate(-24deg) scaleY(.53)}.hero-orb::after{inset:-24%;transform:rotate(30deg) scaleY(.72);opacity:.5}.orb-core{position:absolute;inset:24%;border-radius:50%;background:radial-gradient(circle at 43% 36%,rgba(237,247,227,.75),rgba(212,232,199,.07) 44%,transparent 68%);filter:blur(16px)}.hero-content{position:relative;z-index:2;width:100%}.hero-kicker{display:flex;align-items:center;gap:14px;margin-bottom:30px}.hero-kicker::before{content:'';width:34px;height:1px;background:var(--accent)}.hero h1{font-size:clamp(5rem,11.8vw,12rem);line-height:.89;letter-spacing:-.09em;font-weight:500;margin:0;max-width:1250px}.hero h1 em{font-family:var(--font-display);font-weight:500;letter-spacing:-.075em;color:#b8d3c5}.hero-bottom{display:flex;justify-content:space-between;align-items:end;gap:36px;margin-top:66px}.hero-intro{font-size:clamp(1rem,1.5vw,1.25rem);line-height:1.45;max-width:330px;margin:0}.hero-scroll{display:flex;align-items:center;gap:18px}.scroll-line{width:84px;height:1px;background:rgba(255,255,255,.5);position:relative;overflow:hidden}.scroll-line::after{content:'';position:absolute;inset:0;background:var(--accent);transform:translateX(-100%);animation:scan 2.5s ease-in-out infinite}@keyframes scan{to{transform:translateX(100%)}}
    .intro{padding:clamp(110px,15vw,230px) 0;position:relative}.section-topline{border-top:1px solid var(--line);padding-top:18px;display:flex;justify-content:space-between;gap:20px}.intro-layout{display:grid;grid-template-columns:1fr 1.7fr;gap:5vw;margin-top:110px}.intro h2,.section-title{font-weight:500;letter-spacing:-.075em;line-height:1.03;margin:0}.intro h2{font-size:clamp(3.3rem,7.1vw,8rem)}.intro h2 em,.section-title em{font-family:var(--font-display);font-weight:500}.intro-copy{display:flex;flex-direction:column;align-items:start;justify-content:end;gap:28px;padding-bottom:10px}.intro-copy p{font-size:clamp(1.15rem,1.7vw,1.55rem);line-height:1.47;max-width:510px;margin:0}.text-link{font-size:.76rem;letter-spacing:.13em;text-transform:uppercase;font-weight:700;display:inline-flex;gap:28px;align-items:center;border-bottom:1px solid currentColor;padding-bottom:12px}
    .showcase{background:var(--mist);padding:30px 0 110px}.showcase-head{display:flex;justify-content:space-between;align-items:end;gap:30px;padding:40px 0 70px}.section-title{font-size:clamp(3.8rem,7.5vw,9rem)}.showcase-head p{max-width:300px;line-height:1.5;margin:0 0 10px}.showcase-stage{height:min(78vh,740px);min-height:550px;position:relative;overflow:hidden;border-radius:3px;background:var(--ink);color:var(--white)}.showcase-art{position:absolute;inset:0;overflow:hidden}.showcase-art::before{content:'';position:absolute;width:68%;aspect-ratio:1;border-radius:50%;right:-6%;top:-35%;background:radial-gradient(circle at 35% 35%,#d6c2a4,#ad6e58 30%,#5d4644 55%,#18383a 76%);filter:blur(1px)}.showcase-art::after{content:'';position:absolute;inset:0;background:linear-gradient(90deg,rgba(7,30,33,.8),transparent 83%)}.art-lines{position:absolute;right:-5%;top:-15%;width:65%;aspect-ratio:1;border:1px solid rgba(255,255,255,.3);border-radius:50%;z-index:1;transform:scaleY(.45) rotate(-27deg);box-shadow:0 0 0 150px rgba(255,255,255,.025),0 0 0 300px rgba(255,255,255,.018)}.showcase-content{position:absolute;inset:auto 6% 8%;z-index:2;display:flex;justify-content:space-between;align-items:end;gap:24px}.showcase-content h3{font-weight:500;font-size:clamp(3.6rem,8vw,9rem);line-height:.95;letter-spacing:-.075em;margin:16px 0 0}.showcase-content p{max-width:280px;line-height:1.5;margin:0}.stage-count{position:absolute;right:6%;top:8%;z-index:2;font-size:.75rem;letter-spacing:.15em}.showcase-note{display:flex;justify-content:space-between;padding-top:15px;border-top:1px solid var(--line);margin-top:22px;font-size:.7rem;font-weight:700;letter-spacing:.13em;text-transform:uppercase}
    .cards-section{padding:145px 0 160px}.cards-head{display:flex;justify-content:space-between;gap:40px;align-items:end;margin:75px 0 60px}.cards-head p{max-width:310px;line-height:1.5;margin:0}.cards{display:grid;grid-template-columns:repeat(3,1fr);gap:15px}.card{min-height:580px;position:relative;overflow:hidden;background:#d8ded6;display:flex;flex-direction:column;justify-content:space-between;padding:28px;transition:transform .5s cubic-bezier(.2,.8,.2,1)}.card:nth-child(2){background:#c3d5cd}.card:nth-child(3){background:#e0d4c8}.card:hover{transform:translateY(-10px)}.card-visual{position:absolute;inset:15% 0 16%;display:grid;place-items:center}.shape{width:58%;aspect-ratio:1;border-radius:50%;background:radial-gradient(circle at 35% 30%,#f3e8d6,#ae9782 48%,#4d655f 78%);box-shadow:25px 35px 40px rgba(19,49,49,.17);transition:transform .7s cubic-bezier(.2,.8,.2,1)}.card:nth-child(2) .shape{border-radius:46% 54% 24% 76% / 57% 27% 73% 43%;background:linear-gradient(140deg,#4f827b,#224a4b 65%,#a6bdae);transform:rotate(-25deg)}.card:nth-child(3) .shape{border-radius:8%;background:linear-gradient(135deg,#d18560,#e5b18c 45%,#815a50);transform:rotate(23deg)}.card:hover .shape{transform:scale(1.08) rotate(8deg)}.card:nth-child(2):hover .shape{transform:scale(1.08) rotate(-14deg)}.card:nth-child(3):hover .shape{transform:scale(1.08) rotate(32deg)}.card-top,.card-bottom{position:relative;z-index:2;display:flex;justify-content:space-between;align-items:start;gap:15px}.card-bottom{align-items:end}.card h3{font-size:clamp(2rem,2.5vw,3rem);letter-spacing:-.065em;line-height:1.02;font-weight:500;margin:0}.card .arrow{border:1px solid var(--ink);border-radius:50%;width:43px;height:43px;display:grid;place-items:center;font-size:1.15rem}
    .statement{background:var(--ink);color:var(--white);padding:140px 0 160px;overflow:hidden}.statement .section-topline{border-color:rgba(255,255,255,.2)}.statement-text{font-size:clamp(3.5rem,8vw,10rem);line-height:1.08;letter-spacing:-.075em;max-width:1300px;margin:120px 0 0}.statement-text .dim{color:#75918a}.statement-text em{font-family:var(--font-display);font-weight:500;color:#d8b69e}
    .details{padding:145px 0}.details-grid{display:grid;grid-template-columns:1fr 1.25fr;gap:8vw;margin-top:82px}.details h2{font-size:clamp(3.5rem,6vw,7rem);line-height:1;letter-spacing:-.075em;font-weight:500;margin:0}.details h2 em{font-family:var(--font-display);font-weight:500}.accordion{border-top:1px solid var(--line)}.accordion-item{border-bottom:1px solid var(--line)}.accordion-button{width:100%;background:none;border:0;display:flex;align-items:center;text-align:left;padding:28px 0;cursor:pointer;color:var(--ink)}.accordion-number{font-size:.73rem;letter-spacing:.12em;width:55px}.accordion-label{font-size:clamp(1.25rem,2vw,1.8rem);letter-spacing:-.045em;flex:1}.accordion-icon{font-size:1.5rem;font-weight:400;line-height:1;transition:transform .35s}.accordion-button[aria-expanded="true"] .accordion-icon{transform:rotate(45deg)}.accordion-panel{display:grid;grid-template-rows:0fr;transition:grid-template-rows .45s ease}.accordion-button[aria-expanded="true"]+.accordion-panel{grid-template-rows:1fr}.accordion-panel-inner{overflow:hidden}.accordion-panel p{max-width:490px;line-height:1.6;margin:0 0 28px 55px;color:#496160}
    .closing{background:var(--accent);color:var(--ink);padding:110px 0 30px}.closing-top{display:flex;justify-content:space-between;gap:30px}.closing h2{font-size:clamp(5rem,12vw,14rem);line-height:.88;letter-spacing:-.085em;font-weight:500;margin:95px 0 85px}.closing h2 em{font-family:var(--font-display);font-weight:500}.closing-link{display:inline-flex;justify-content:space-between;align-items:center;gap:45px;border:1px solid var(--ink);padding:18px 22px;font-size:.75rem;text-transform:uppercase;letter-spacing:.12em;font-weight:700;align-self:start;transition:background .3s,color .3s}.closing-link:hover{background:var(--ink);color:var(--white)}.footer{border-top:1px solid rgba(16,47,49,.35);padding-top:24px;display:flex;justify-content:space-between;gap:20px;font-size:.72rem;text-transform:uppercase;letter-spacing:.12em}.footer-links{display:flex;gap:30px}
    /* Self-contained motion: this works when index.html is opened as a file. */
    .page-progress{position:fixed;top:0;left:0;width:100%;height:3px;background:var(--accent);z-index:110;transform:scaleX(0);transform-origin:left;pointer-events:none}
    .transition-curtain{position:fixed;inset:0;z-index:100;background:var(--accent);display:grid;place-items:center;transform:translateY(101%);transition:transform .75s cubic-bezier(.76,0,.24,1);pointer-events:none}
    .transition-curtain span{font-size:clamp(3rem,10vw,10rem);font-weight:700;letter-spacing:-.09em;color:var(--ink)}
    .motion-ready:not(.is-loaded) .transition-curtain,.motion-ready.is-transitioning .transition-curtain{transform:translateY(0)}
    .motion-ready.is-loaded:not(.is-transitioning) .transition-curtain{transform:translateY(-101%)}
    .motion-ready .hero-enter{opacity:0;transform:translateY(65px);transition:opacity .9s ease,transform 1.1s cubic-bezier(.16,1,.3,1)}
    .motion-ready.is-loaded .hero-enter{opacity:1;transform:translateY(0)}
    .hero-kicker.hero-enter{transition-delay:.2s}.hero h1.hero-enter{transition-delay:.34s}.hero-intro.hero-enter{transition-delay:.52s}.hero-scroll.hero-enter{transition-delay:.65s}
    .motion-ready .reveal{opacity:0;transform:translateY(70px);transition:opacity .9s ease,transform 1s cubic-bezier(.16,1,.3,1)}
    .motion-ready .reveal.is-visible{opacity:1;transform:translateY(0)}
    .hero-orb{will-change:transform;animation:orb-appear 1.6s both}.hero-orb::before{animation:orbit-a 18s linear infinite}.hero-orb::after{animation:orbit-b 25s linear infinite reverse}
    @keyframes orb-appear{from{opacity:0;filter:blur(26px)}to{opacity:.95;filter:blur(0)}}
    @keyframes orbit-a{to{transform:rotate(336deg) scaleY(.53)}}@keyframes orbit-b{to{transform:rotate(390deg) scaleY(.72)}}
    .showcase-runway{height:165vh;position:relative}.showcase-runway .showcase-stage{position:sticky;top:10vh}.showcase-art{will-change:transform}.showcase-content h3{will-change:transform}
    .card.is-visible{transition:opacity .9s ease,transform .45s cubic-bezier(.16,1,.3,1)}.card.is-visible:hover{transform:perspective(900px) rotateX(var(--rx,0deg)) rotateY(var(--ry,0deg)) translateY(-12px)}
    .cursor-halo{position:fixed;top:0;left:0;width:30px;height:30px;border:1px solid var(--accent);border-radius:50%;z-index:90;pointer-events:none;opacity:0;transform:translate(-50%,-50%);transition:width .3s,height .3s,opacity .3s,background .3s;mix-blend-mode:difference}.cursor-halo.is-active{opacity:1}.cursor-halo.is-link{width:62px;height:62px;background:rgba(214,129,88,.17)}
    .inner-page .hero{min-height:87svh}.inner-page .hero-orb{width:min(58vw,760px);right:-2%;top:7%}.inner-page .hero h1{font-size:clamp(5rem,10.5vw,11rem)}.inner-page .intro{padding-block:160px}.inner-page .hero-grid{background-size:12.5% 25%}
    .work-page .hero-orb{background:radial-gradient(circle at 38% 35%,#e6cbb2 0%,#ad806c 28%,#5d5b55 62%,#173839 78%)}
    .motion-band{overflow:hidden;background:var(--accent);color:var(--ink);padding:17px 0;border-block:1px solid rgba(16,47,49,.2)}.motion-track{display:flex;width:max-content;gap:4vw;animation:marquee 24s linear infinite}.motion-band span{font-size:clamp(2.3rem,4vw,4.8rem);font-weight:500;letter-spacing:-.075em;white-space:nowrap;line-height:1}.motion-band i{font-family:var(--font-display);font-weight:500}.motion-band b{font-weight:400}.motion-band:hover .motion-track{animation-play-state:paused}@keyframes marquee{to{transform:translateX(-50%)}}
    .motion-ready .section-topline{clip-path:inset(0 100% 0 0);transition:clip-path 1.15s cubic-bezier(.16,1,.3,1)}.motion-ready .section-topline.is-visible{clip-path:inset(0 0 0 0)}
    .hero h1{will-change:transform,opacity}.transition-curtain span{transition:transform .7s cubic-bezier(.16,1,.3,1),opacity .6s}.motion-ready.is-loaded:not(.is-transitioning) .transition-curtain span{transform:translateY(35px);opacity:0}.motion-ready.is-transitioning .transition-curtain span{transform:translateY(0);opacity:1}
    /* The opening three scenes share one sticky viewport. Scroll position drives each upward swipe. */
    .swipe-sequence{position:relative}.swipe-viewport{height:100svh;position:relative;overflow:hidden}.swipe-sequence .hero{height:100%;min-height:0}.motion-ready .swipe-sequence{height:300svh}.motion-ready .swipe-viewport{position:sticky;top:0}
    .swipe-panel{display:none;position:absolute;inset:0;overflow:hidden;padding:100px 0 40px;will-change:transform}.motion-ready .swipe-panel{display:block}.swipe-panel-one{z-index:2;background:#e2e9dc;color:var(--ink);transform:translate3d(0,100%,0)}.swipe-panel-two{z-index:3;background:#b46d55;color:var(--white);transform:translate3d(0,100%,0)}
    .swipe-panel-inner{height:100%;position:relative;z-index:2;display:flex;flex-direction:column;justify-content:space-between}.swipe-top,.swipe-bottom{display:flex;justify-content:space-between;gap:24px}.swipe-top{padding-top:19px;border-top:1px solid currentColor}.swipe-bottom{align-items:end;border-top:1px solid currentColor;padding-top:19px}.swipe-bottom p{font-size:clamp(.95rem,1.25vw,1.15rem);line-height:1.45;max-width:320px;margin:0}.swipe-panel-main{align-self:flex-start;width:100%;padding-block:20px;will-change:transform}.swipe-panel-main .eyebrow{margin:0 0 24px}.swipe-panel h2{font-weight:500;font-size:clamp(5rem,10vw,12rem);letter-spacing:-.085em;line-height:.9;margin:0;max-width:1200px}.swipe-panel h2 em{font-family:var(--font-display);font-weight:500}.swipe-panel-two .swipe-panel-main{text-align:right}.swipe-panel-two h2{margin-left:auto}
    .swipe-visual{position:absolute;inset:0;pointer-events:none}.swipe-visual-one::before{content:'';position:absolute;width:min(56vw,800px);aspect-ratio:1;border-radius:50%;right:-7%;top:5%;background:radial-gradient(circle at 35% 27%,#f9f2de,#93afa4 42%,#235959 70%,#173d3e);box-shadow:35px 70px 100px rgba(13,57,58,.22);opacity:.85}.swipe-visual-one span:first-child{position:absolute;right:14%;top:-20%;width:1px;height:150%;background:rgba(16,47,49,.2);transform:rotate(31deg)}.swipe-visual-one span:last-child{position:absolute;right:24%;top:-20%;width:1px;height:150%;background:rgba(16,47,49,.12);transform:rotate(31deg)}
    .swipe-visual-two::before{content:'';position:absolute;width:min(62vw,900px);aspect-ratio:1;left:-17%;top:-20%;border-radius:50%;background:radial-gradient(circle at 65% 40%,#f7d6aa,#d08e6e 35%,#784d50 70%,#542d3d);box-shadow:30px 70px 120px rgba(47,13,28,.27);opacity:.88}.swipe-visual-two span:first-child,.swipe-visual-two span:last-child{position:absolute;border:1px solid rgba(255,246,224,.32);border-radius:50%;width:74vw;aspect-ratio:1;left:-23%;top:-35%;transform:scaleY(.5) rotate(25deg)}.swipe-visual-two span:last-child{width:95vw;left:-30%;top:-52%;opacity:.55}
    .swipe-meter{display:none;position:absolute;z-index:5;right:30px;top:50%;transform:translateY(-50%);flex-direction:column;gap:9px;mix-blend-mode:difference}.motion-ready .swipe-meter{display:flex}.swipe-meter span{width:2px;height:45px;background:#fff;opacity:.35;transform-origin:top}.swipe-meter span:first-child{opacity:1}
    @media(max-width:900px){.wrap{width:min(100% - 40px,1440px)}.nav{gap:20px}.hero-orb{width:82vw;right:-25%;top:14%}.intro-layout,.details-grid{grid-template-columns:1fr;gap:45px}.intro-layout{margin-top:75px}.cards{grid-template-columns:1fr 1fr}.card:last-child{grid-column:1/-1}.card{min-height:500px}.showcase-stage{min-height:520px}.statement-text{margin-top:90px}}
    @media(max-width:650px){.header-inner{height:70px}.menu-button{display:block}.nav{display:none;position:absolute;left:0;right:0;top:70px;background:var(--ink);padding:28px 20px 34px;flex-direction:column;align-items:stretch;gap:24px;border-bottom:1px solid rgba(255,255,255,.25)}.nav.is-open{display:flex}.nav a{font-size:1.2rem}.nav-cta{width:max-content}.hero{min-height:790px;padding:125px 0 35px}.hero-orb{width:96vw;right:-40%;top:9%;opacity:.8}.hero h1{font-size:clamp(4.8rem,17vw,7rem)}.hero-bottom{margin-top:50px;align-items:start;flex-direction:column}.hero-scroll{align-self:flex-end}.intro,.cards-section,.statement,.details{padding:90px 0}.intro-layout{margin-top:60px}.showcase{padding-bottom:70px}.showcase-head{align-items:start;flex-direction:column;gap:20px;padding-bottom:40px}.showcase-stage{height:620px;min-height:0}.showcase-runway{height:auto}.showcase-runway .showcase-stage{position:relative;top:auto}.showcase-art::before{width:115%;right:-50%;top:-4%}.showcase-content{inset:auto 8% 7%;flex-direction:column;align-items:start}.showcase-content p{max-width:260px}.cards-head{align-items:start;flex-direction:column;margin:55px 0 35px}.cards{grid-template-columns:1fr}.card:last-child{grid-column:auto}.card{min-height:520px}.statement-text{margin-top:70px}.details-grid{margin-top:55px}.closing{padding-top:90px}.closing-top{flex-direction:column}.closing h2{margin:75px 0}.footer{flex-direction:column}.footer-links{gap:16px;flex-wrap:wrap}}
    @media(hover:none){.cursor-halo{display:none}}
    @media(max-width:650px){.inner-page .hero{min-height:760px}.inner-page .hero-orb{width:96vw;right:-42%;top:12%}.inner-page .intro{padding-block:90px}}
    @media(max-width:650px){.swipe-sequence .hero{padding-top:110px}.swipe-panel{padding:82px 0 32px}.swipe-panel h2{font-size:clamp(3.8rem,14vw,6rem)}.swipe-panel-main .eyebrow{margin-bottom:16px}.swipe-panel-two .swipe-panel-main{text-align:left}.swipe-panel-two h2{margin-left:0}.swipe-bottom{align-items:start;flex-direction:column}.swipe-bottom p{max-width:240px}.swipe-visual-one::before{width:100vw;right:-49%;top:16%}.swipe-visual-two::before{width:110vw;left:-56%;top:8%}.swipe-meter{right:12px}.swipe-meter span{height:28px}}
    @media(prefers-reduced-motion:reduce){.swipe-sequence{height:auto}.swipe-viewport{position:relative}.swipe-panel,.swipe-meter{display:none!important}}
    @media(prefers-reduced-motion:reduce){.transition-curtain{display:none}.motion-ready .hero-enter,.motion-ready .reveal{opacity:1!important;transform:none!important}.motion-track{animation:none}.showcase-runway{height:auto}.showcase-runway .showcase-stage{position:relative;top:auto}}
    @media(prefers-reduced-motion:reduce){*,*::before,*::after{animation-duration:.01ms!important;transition-duration:.01ms!important;scroll-behavior:auto!important}}

/* Extreme Plumbing sewer — one face, logo navy, red line, footage. */
:root{--ink:#243283;--ink-2:#1b276e;--paper:#f3f0e8;--mist:#e7e9f4;--line:#243283;--accent:#e6131a;--white:#fffdf8;--font-display:"DM Sans",Arial,sans-serif}
em,i,b,.hero h1 em,.swipe-panel h2 em,.intro h2 em,.section-title em,.details h2 em,.closing h2 em,.statement-text em,.motion-band i,.motion-band b{font-family:"DM Sans",Arial,sans-serif;font-style:normal;font-weight:600}
.hero h1 em,.statement-text em{color:inherit}
.statement-text .dim{color:#c5cbe8;font-weight:500}
.header{position:sticky;top:0;background:var(--paper);color:var(--ink)}
.header-inner{height:78px;border-bottom:1px solid var(--ink)}
.brand img{display:block;height:54px;width:auto}
.free-inspect{display:inline-flex;align-items:center;justify-content:center;background:var(--accent);color:#fff;border:1px solid var(--accent);padding:13px 16px;font-size:.74rem;font-weight:700;letter-spacing:.11em;text-transform:uppercase}
.free-inspect:hover{background:var(--ink);border-color:var(--ink);color:#fff}
.hero-offer{display:flex;flex-direction:column;align-items:flex-start;gap:22px;max-width:520px}
@media(max-width:650px){.nav.is-open .free-inspect{width:max-content}}
.hero{padding-top:42px}
.hero-film,.fill-photo{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;z-index:0}
.hero::before{z-index:1;background:linear-gradient(90deg,rgba(8,14,40,.84),rgba(8,14,40,.28) 68%,rgba(8,14,40,.12))}
.hero-grid,.hero-orb,.art-lines,.cursor-halo{display:none}
.hero-content,.swipe-panel-inner,.showcase-content,.stage-count{z-index:2}
.motion-ready .swipe-viewport{height:calc(100svh - 78px);top:78px}
.swipe-panel-one,.swipe-panel-two{background:#10142e;color:var(--white)}
.swipe-panel-two .swipe-panel-main{text-align:left}
.swipe-panel-two h2{margin-left:0}
.swipe-visual-one::before,.swipe-visual-two::before{display:none}
.swipe-visual::after{content:"";position:absolute;inset:0;z-index:1;background:linear-gradient(90deg,rgba(8,14,40,.78),rgba(8,14,40,.22) 72%)}
.panel-photo{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;opacity:1;z-index:0}
.showcase-art .fill-photo{z-index:0}
.showcase-art::before{display:none}
.showcase-art::after{z-index:1;background:linear-gradient(90deg,rgba(8,14,40,.72),transparent 78%)}
.section-topline,.accordion,.accordion-item,.service-list,.service-list article{border-color:var(--ink)}
.cards{align-items:stretch}
.work-card{position:relative;min-height:560px;padding:0;display:flex;flex-direction:column;justify-content:flex-end;background:#10142e;color:var(--white);border:1px solid var(--ink);overflow:hidden}
.work-card.is-visible:hover{transform:none}
.work-card .card-visual{inset:0}
.work-card .card-visual video,.card-visual img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.work-card .shape{display:none}
.work-card::after{content:"";position:absolute;inset:0;z-index:1;pointer-events:none;background:linear-gradient(180deg,rgba(8,14,40,.05) 20%,rgba(8,14,40,.82))}
.card-toggle{position:relative;z-index:2;flex:1;width:100%;min-height:420px;display:flex;flex-direction:column;justify-content:space-between;gap:0;padding:28px;background:none;border:0;color:#fff;text-align:left;cursor:pointer}
.work-card .card-top,.work-card .card-bottom{color:#fff}
.work-card .arrow{border-color:#fff;color:#fff;background:transparent}
.work-card.is-open{outline:2px solid var(--accent);outline-offset:-2px}
.work-card.is-open .arrow{transform:rotate(45deg)}
.card-detail{position:relative;z-index:3;background:var(--paper);color:var(--ink);border-top:2px solid var(--accent);max-height:0;overflow:hidden;padding:0 28px;transition:max-height .4s ease,padding .4s ease}
.work-card.is-open .card-detail{max-height:240px;padding:20px 28px 26px}
.card-detail p{margin:0 0 16px;font-size:1rem;font-weight:500;letter-spacing:0;text-transform:none;line-height:1.5}
.card-detail a{display:inline-flex;gap:10px;align-items:center;font-size:.74rem;font-weight:700;letter-spacing:.12em;text-transform:uppercase;border-bottom:1px solid var(--ink);padding-bottom:6px}
.inquiry{display:grid;gap:18px;max-width:560px;margin-top:28px}
.inquiry label{display:grid;gap:8px;font-size:.72rem;font-weight:700;letter-spacing:.14em;text-transform:uppercase;color:#fff}
.inquiry input,.inquiry textarea{font:inherit;font-weight:500;letter-spacing:0;text-transform:none;font-size:1rem;color:#fff;background:transparent;border:0;border-bottom:1px solid rgba(255,253,248,.55);padding:10px 0;border-radius:0}
.inquiry textarea{min-height:90px;resize:vertical}
.inquiry .closing-link{border:1px solid #fff;padding:16px 20px;color:#fff}
.inquiry .closing-link:hover{background:#fff;color:var(--accent)}
.phone-link{display:inline-flex;margin:10px 0 8px;font-size:clamp(1.4rem,2vw,2rem);letter-spacing:-.04em;font-weight:500}
.closing{color:#fff}
.closing-link{border-color:#fff;color:#fff}
.closing-link:hover{background:#fff;color:var(--accent)}
.footer{border-top-color:rgba(255,253,248,.4)}
.service-list{display:grid;gap:0;margin-top:40px;border-top:1px solid var(--ink)}
.service-list article{display:grid;grid-template-columns:120px 1fr;gap:24px;padding:28px 0;border-bottom:1px solid var(--ink)}
.service-list h3{margin:0 0 8px;font-size:clamp(1.6rem,2vw,2.2rem);letter-spacing:-.04em;font-weight:500}
.service-list p{margin:0;line-height:1.55;max-width:640px}
.service-list span{font-size:.72rem;font-weight:700;letter-spacing:.14em}
.contact-page .hero,.article-page .hero{min-height:0;background:var(--paper);color:var(--ink);padding:36px 0 8px}
.contact-page .hero::before,.article-page .hero::before{display:none}
.contact-page .hero h1,.article-page .hero h1{color:var(--ink);font-size:clamp(2.8rem,6vw,5.4rem)}
.contact-page .hero-intro,.article-page .hero-intro{color:var(--ink)}
.contact-sheet{padding:8px 0 80px}
.contact-sheet .inquiry{max-width:640px}
.contact-sheet .inquiry label,.contact-sheet .inquiry input,.contact-sheet .inquiry textarea,.contact-sheet .inquiry select{color:var(--ink)}
.contact-sheet .inquiry input,.contact-sheet .inquiry textarea,.contact-sheet .inquiry select{border-bottom:1px solid var(--ink);background:transparent;width:100%;font:inherit;font-size:1rem;padding:12px 0}
.contact-sheet .closing-link{border:1px solid var(--ink);color:var(--ink);background:transparent}
.contact-sheet .closing-link:hover{background:var(--ink);color:var(--white)}
.form-pop{position:fixed;inset:0;z-index:80;display:grid;place-items:center;padding:24px;background:rgba(8,14,40,.62)}
.form-pop[hidden]{display:none}
.form-pop-card{width:min(480px,100%);background:var(--paper);color:var(--ink);border:1px solid var(--ink);padding:28px}
.form-pop-card h2{margin:8px 0 12px;font-size:clamp(2rem,4vw,3rem);letter-spacing:-.05em;font-weight:500}
.form-pop-card p{margin:0 0 22px;line-height:1.5}
.form-pop-card .closing-link{border-color:var(--ink);color:var(--ink)}
.form-pop-card .closing-link:hover{background:var(--ink);color:#fff}
.prose{padding:12px 0 90px}
.article-figure{margin:4px 0 32px}
.article-figure img{width:100%;max-width:1400px;height:auto;aspect-ratio:16/9;object-fit:cover;display:block}
.article-figure figcaption{margin-top:10px;font-size:.92rem;line-height:1.45;max-width:640px}
.prose-body ol{padding-left:1.2rem;margin:0 0 1rem}
.prose-body li{margin:.4rem 0}
.area-list{columns:2;column-gap:32px}
.prose-body{max-width:760px}
.prose-body h2{font-size:clamp(1.7rem,3vw,2.5rem);letter-spacing:-.045em;font-weight:500;line-height:1.15;margin:2.4rem 0 .7rem}
.prose-body p,.prose-body li{font-size:1.08rem;line-height:1.65}
.prose-body ul{padding-left:1.2rem;margin:0 0 1rem}
.prose-body a{border-bottom:1px solid currentColor}
.guide-list{display:grid;gap:0;border-top:1px solid var(--ink);margin-top:28px}
.guide-list a{display:grid;grid-template-columns:88px 1fr;gap:18px;padding:22px 0;border-bottom:1px solid var(--ink)}
.guide-list strong{display:block;font-size:clamp(1.3rem,2vw,1.7rem);font-weight:500;letter-spacing:-.04em;margin-bottom:6px}
.guide-list span{font-size:.72rem;font-weight:700;letter-spacing:.14em}
@media(max-width:650px){
  .nav.is-open,.nav.is-open a{color:#fff}
  .service-list article,.guide-list a{grid-template-columns:1fr;gap:8px}
  .hero-film{object-position:68% center}
  .work-card,.card-toggle{min-height:480px}
}
.details,.closing,.prose,.contact-sheet,.service-list{content-visibility:auto;contain-intrinsic-size:auto 680px}

/* Publication accessibility and article media */
.skip-link { position:fixed;top:8px;left:8px;z-index:10000;padding:12px 20px;background:white;color:#243283;transform:translateY(-160%); }
.skip-link:focus { transform:translateY(0); }
:focus-visible { outline:3px solid #d04424;outline-offset:5px; }
.article-image { margin:28px 0 40px; }
.article-image img { display:block;width:100%;height:auto;border-radius:4px; }
.article-byline,.form-privacy { font-size:14px;line-height:1.6;max-width:65ch; }

