:root{--ink:#27232a;--ink-soft:#58535d;--plum:#765b78;--plum-dark:#57405d;--rose:#e8cbd0;--paper:#fbf9f6;--ivory:#f5efe9;--warm:#eee7e4;--line:#e4dcd9;--muted:#817981;--serif:'Instrument Serif',Georgia,serif;--sans:'DM Sans',Arial,sans-serif;--radius:16px}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:82px}body{margin:0;background:var(--paper);color:var(--ink);font-family:var(--sans);font-size:15px;-webkit-font-smoothing:antialiased}body.menu-open{overflow:hidden}h1,h2,h3,p{margin-top:0}a{color:inherit;text-decoration:none}button,input{font:inherit}button{cursor:pointer}img{display:block;width:100%;height:auto}::selection{background:#e4c7d7;color:#2c1a29}.container{max-width:1300px;width:calc(100% - 100px);margin-inline:auto}.skip-link{position:fixed;top:-100px;left:12px;z-index:1000;background:#fff;color:#222;padding:12px}.skip-link:focus{top:12px}.site-header{position:sticky;top:0;z-index:100;background:rgba(251,249,246,.94);border-bottom:1px solid rgba(39,35,42,.07);backdrop-filter:blur(18px);-webkit-backdrop-filter:blur(18px);transition:box-shadow .3s}.site-header.is-scrolled{box-shadow:0 4px 24px rgba(41,31,41,.045)}.header-inner{height:81px;display:flex;align-items:center;gap:38px}.logo{display:flex;flex-direction:column;align-items:flex-start;line-height:1}.logo>span:first-child{font-family:var(--serif);font-size:37px;letter-spacing:-1.5px}.logo-period,.footer-logo span{color:#b18a9f}.logo-caption{font-size:8px;letter-spacing:2.18px;margin-top:2px;color:#8e7889;font-weight:700}.nav-desktop{display:flex;align-items:center;gap:31px;margin-left:auto}.nav-desktop a{font-size:12px;font-weight:650;color:#574e57;transition:color .2s}.nav-desktop a:hover{color:#a47899}.header-cta{border:1px solid #3c343e;border-radius:50px;padding:12px 19px;font-size:11px;font-weight:700;white-space:nowrap;transition:background .2s,color .2s}.header-cta span{margin-left:12px;font-size:16px}.header-cta:hover{background:var(--ink);color:#fff}.menu-toggle{display:none;background:none;border:0;width:36px;height:38px;padding:10px 4px;margin-left:auto}.menu-toggle span{display:block;height:2px;background:#353037;margin:6px auto;width:26px;transition:transform .25s}.menu-toggle.is-open span:first-child{transform:translateY(4px) rotate(45deg)}.menu-toggle.is-open span:last-child{transform:translateY(-4px) rotate(-45deg)}.mobile-menu{position:absolute;left:0;right:0;top:100%;padding:18px 6% 30px;background:var(--paper);box-shadow:0 28px 36px rgba(50,39,46,.12);max-height:calc(100svh - 80px);overflow-y:auto}.mobile-menu[hidden]{display:none}.mobile-menu a{display:block;font-size:22px;font-family:var(--serif);border-bottom:1px solid var(--line);padding:11px 0}.mobile-menu a:last-child{font-family:var(--sans);font-size:13px;font-weight:700;margin-top:18px;border-radius:80px;background:var(--ink);color:white;text-align:center;padding:14px}
.eyebrow{display:inline-flex;align-items:center;gap:11px;font-size:9.5px;line-height:1.5;letter-spacing:2.1px;font-weight:700;color:#826b7d}.eyebrow.muted{color:#98808e}.mini-star{font-size:22px;color:#9b758e}.hero{position:relative;background:linear-gradient(115deg,#fbf9f6 2%,#faf7f4 60%,#f0e8e5 100%);overflow:hidden}.hero-glow{position:absolute;border-radius:50%;filter:blur(3px);pointer-events:none}.hero-glow-one{width:430px;height:430px;background:radial-gradient(circle,#fae9e9 0,rgba(250,233,233,0) 70%);left:-160px;top:40px}.hero-glow-two{width:500px;height:500px;background:radial-gradient(circle,#e5d9e9 0,rgba(229,217,233,0) 69%);right:-150px;top:-140px}.hero-grid{min-height:620px;display:grid;grid-template-columns:55% 45%;align-items:center;gap:0;padding-top:42px;padding-bottom:50px;position:relative}.hero-copy{padding:37px 6% 38px 0;position:relative;z-index:3}.hero h1{font-family:var(--serif);font-weight:400;font-size:clamp(64px,6.4vw,102px);line-height:.99;letter-spacing:-1.5px;margin:31px 0 25px;max-width:750px}.hero h1 em,.section h2 em,.detail-inner h2 em{font-style:italic;color:#9d7393;font-weight:400}.hero h1>span{display:block;font-size:.66em;line-height:1.05;margin-top:10px;max-width:720px}.hero-desc{color:#5d5660;font-size:14px;line-height:1.95;max-width:490px;margin:0 0 30px}.hero-actions{display:flex;align-items:center;flex-wrap:wrap;gap:12px 23px}.btn{border:0;display:inline-flex;align-items:center;justify-content:space-between;gap:29px;font-weight:650;font-size:12px;line-height:1.2;transition:background .2s,transform .2s,color .2s}.btn:hover{transform:translateY(-2px)}.btn-dark{background:#342c38;border-radius:100px;color:#fff;padding:17px 24px}.btn-dark:hover{background:#6e516d}.btn-dark span{font-size:17px}.btn-text{color:#625461;padding:14px 0;border-bottom:1px solid #b7a2b5}.btn-text span{font-size:17px}.hero-micro{font-size:8px;color:#92858e;letter-spacing:1.1px;font-weight:700;margin-top:49px;display:flex;align-items:center;flex-wrap:wrap;gap:9px}.micro-line{width:25px;height:1px;background:#a48e9d;margin-right:1px}.micro-dot{color:#b99cad}.hero-visual{position:relative;align-self:stretch;min-height:490px;display:flex;align-items:center;justify-content:center;padding:12px 35px 17px 18px}.hero-image-wrap{height:100%;min-height:535px;width:100%;border-radius:220px 220px 14px 14px;overflow:hidden;box-shadow:22px 27px 70px rgba(92,69,90,.17);background:#cbc9c9}.hero-image-wrap img{height:100%;object-fit:cover;object-position:50% 26%}.hero-stamp{position:absolute;background:#f5e7e7;border:7px solid #fbf9f6;width:138px;height:138px;right:-12px;bottom:28px;border-radius:50%;display:flex;flex-direction:column;align-items:center;justify-content:center;transform:rotate(10deg);box-shadow:0 6px 16px #53405412}.hero-stamp span{font-family:var(--serif);font-style:italic;font-size:18px;letter-spacing:-.3px}.hero-stamp strong{font-family:var(--serif);font-weight:400;font-size:24px;line-height:1;color:#765477}.hero-stamp strong span{font:inherit;font-size:19px}.hero-float{position:absolute;top:46px;right:8px;writing-mode:vertical-rl;font-size:8px;letter-spacing:2.2px;font-weight:650;color:#8a7986}.hero-float span{margin:10px 0}.stats-band{background:#fffdfb;border-top:1px solid #f1eae8;border-bottom:1px solid #f1eae8}.stats-inner{min-height:104px;display:flex;align-items:center;justify-content:space-between;gap:26px}.stats-intro{font-size:9px;letter-spacing:1.35px;color:#857480;line-height:1.65}.stats-intro strong{font-weight:700;color:#51414d}.stat{display:flex;flex-direction:column;gap:1px}.stat strong{font-size:29px;font-family:var(--serif);font-weight:400;letter-spacing:-.5px}.stat span{font-size:8px;font-weight:700;letter-spacing:1.45px;color:#98898e}.stats-mark{color:#d7b4c4;font-size:41px}
.section{padding:118px 0}.section-head{display:flex;align-items:flex-end;justify-content:space-between;gap:35px;margin-bottom:42px}.section h2,.detail-inner h2{font-family:var(--serif);font-size:clamp(50px,5.6vw,80px);line-height:1.02;font-weight:400;letter-spacing:-1px;margin:14px 0 0}.section h2 em{font-weight:400}.section-blurb,.section-side>p{font-size:13px;line-height:1.9;color:#746a71;max-width:280px;margin:0 0 8px}.work{background:var(--paper)}.work-head{margin-bottom:38px}.section-side{display:flex;flex-direction:column;align-items:flex-start;gap:21px}.slider-controls{display:none;gap:8px}.circle-arrow{width:38px;height:38px;border-radius:50%;border:1px solid #c5b7c0;background:transparent;font-size:16px;color:#756371}.circle-arrow:hover{background:#eee6eb}.work-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:17px}.project-card{min-width:0}.project-art{aspect-ratio:3/4;position:relative;overflow:hidden;border-radius:5px;padding:19px;display:flex;flex-direction:column;justify-content:space-between;isolation:isolate;transition:filter .35s}.project-art:after{content:'';position:absolute;border:1px solid rgba(255,255,255,.35);inset:10px;pointer-events:none;border-radius:2px}.project-art:before{content:'';position:absolute;width:250px;height:250px;border:1px solid #ffffff59;border-radius:50%;right:-117px;top:18%;transform:rotate(20deg)}.project-card:hover .project-art{filter:saturate(1.16)}.project-topline,.project-bottomline{font-size:8px;font-weight:750;letter-spacing:1.55px;position:relative;z-index:2}.project-bottomline{font-size:7.5px}.project-nam .project-art{background:radial-gradient(circle at 67% 37%,#ece7ee 0,#bdb1cc 45%,#8e779e 110%);color:#312a38}.project-elf .project-art{background:radial-gradient(circle at 45% 47%,#f9ede1,#e2b5a7 65%,#c18d84);color:#4d302f}.project-garnier .project-art{background:radial-gradient(circle at 38% 50%,#e3edcf,#b4c9a0 70%,#7d997f);color:#2b4638}.project-charlotte .project-art{background:radial-gradient(circle at 50% 35%,#f7e9d7,#d6b49e 70%,#ab8c83);color:#624d49}.nam-graphic,.elf-graphic,.garnier-graphic,.charlotte-graphic{align-self:center;text-align:center;position:relative;z-index:2}.nam-graphic{font-family:var(--serif);transform:rotate(-8deg)}.nam-graphic span{display:block;font-size:60px;font-style:italic;line-height:.7}.nam-graphic strong{font-size:95px;font-weight:400;line-height:.88}.elf-graphic span{font-weight:700;font-size:79px;letter-spacing:-10px}.elf-graphic small{display:block;letter-spacing:3px;font-size:14px;font-weight:650}.garnier-graphic span{font-size:34px;font-weight:700;letter-spacing:-2px}.garnier-graphic i{display:block;font-family:var(--serif);font-size:31px;margin-top:12px}.charlotte-graphic{font-family:var(--serif);transform:rotate(-8deg)}.charlotte-graphic span,.charlotte-graphic strong{display:block;font-weight:400;font-size:57px;line-height:.81}.charlotte-graphic strong{font-style:italic;font-size:73px}.project-meta{display:flex;align-items:center;justify-content:space-between;padding:16px 2px 0}.project-meta h3{font-family:var(--serif);font-weight:400;font-size:26px;margin:0 0 3px}.project-meta p{font-size:11px;color:#817781;margin:0}.project-arrow{align-self:flex-start;border:1px solid #d6cdd3;border-radius:50%;display:grid;place-items:center;width:32px;height:32px;color:#786376}.work-foot{border-top:1px solid #e8e0e4;margin-top:42px;padding-top:21px;display:flex;align-items:center;justify-content:space-between;gap:16px}.work-hint{font-size:10px;color:#92868d;letter-spacing:.25px}.under-link{display:inline-flex;align-items:center;gap:19px;padding-bottom:7px;border-bottom:1px solid #aa90a2;font-size:12px;font-weight:700;color:#624967}.under-link span{font-size:19px}.mobile-only{display:none}
.services{background:#f1ecea;position:relative}.services:before{content:'✳';position:absolute;font-size:230px;right:2%;top:0;line-height:1;color:#e4dadf;opacity:.55;pointer-events:none}.services .container{position:relative}.service-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:13px}.service-card{background:#fffbf8;padding:25px 25px 29px;min-height:235px;border-radius:5px;border:1px solid #eee5e5;display:flex;flex-direction:column;transition:transform .3s,box-shadow .3s}.service-card:hover{transform:translateY(-4px);box-shadow:0 15px 35px #4c314b0e}.service-top{display:flex;align-items:center;justify-content:space-between}.service-number{color:#a08e99;font-size:10px}.service-symbol{color:#b48ca3;font-size:28px;font-weight:400}.service-card h3{margin:auto 0 16px;font-family:var(--serif);font-weight:400;font-size:38px;line-height:.9}.service-card h3 em{color:#aa7c9c}.service-card p{font-size:11px;line-height:1.6;color:#81737a;margin:0;min-height:36px}
.about{background:#fffdfa}.about-grid{display:grid;grid-template-columns:47% 53%;align-items:center;gap:55px}.about-visual{position:relative;max-width:530px;padding:0 56px 35px 12px}.about-image-main{height:600px;overflow:hidden;border-radius:230px 230px 15px 15px;background:#69646d}.about-image-main img{height:100%;object-fit:cover;object-position:50% 12%}.about-image-mini{position:absolute;bottom:0;right:0;width:39%;height:245px;overflow:hidden;border:9px solid #fffdfa;border-radius:120px 120px 7px 7px;box-shadow:0 7px 20px #33252d16}.about-image-mini img{height:100%;object-fit:cover;object-position:50% 33%}.about-decoration{position:absolute;top:-38px;right:34px;font-size:70px;color:#d6b3c4}.about-copy{padding:5px 0 15px}.about-copy h2{margin:15px 0 22px}.about-intro{font-size:15px;line-height:1.9;color:#605861;max-width:470px}.about-divider{width:100%;height:1px;background:#ebe2e5;margin:29px 0 24px}.about-copy h3{font-family:var(--serif);font-weight:400;font-size:39px;line-height:1.08;margin:0 0 25px}.about-copy h3 em{color:#977292;font-weight:400}.about-points{display:grid;grid-template-columns:1fr 1fr;gap:18px 22px}.about-points>div{display:flex;align-items:flex-start;gap:10px}.about-points>div>span{font-size:9px;color:#b295a9;line-height:2.3}.about-points p{margin:0;font-size:10.5px;color:#84777f;line-height:1.5}.about-points strong{display:block;color:#473b47;margin-bottom:3px;font-weight:700;font-size:11px}
.detail-section{background:#f6edf1;padding:49px 0}.detail-inner{display:grid;grid-template-columns:1fr 1.2fr 1fr;align-items:center;gap:35px}.detail-inner h2{font-size:45px;margin:10px 0 0}.detail-list{display:grid;gap:11px}.detail-list span{font-family:var(--serif);font-size:22px;border-bottom:1px solid #d9cdd4;padding:0 0 7px;color:#6d5568}.detail-inner>p{font-size:11px;line-height:1.95;color:#736674;margin:0}
.process{background:var(--paper)}.process-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:17px}.process-grid article{border-top:1px solid #bfb0b8;padding-top:17px}.process-number{color:#ad8fa5;font-family:var(--serif);font-size:30px;display:flex;align-items:center;justify-content:space-between}.process-number span{font-family:var(--sans);font-size:17px}.process-grid h3{font-family:var(--serif);font-weight:400;font-size:38px;margin:35px 0 6px}.process-grid p{font-size:11px;line-height:1.7;color:#83777f;max-width:205px;margin:0}.gallery-strip{height:285px;display:grid;grid-template-columns:1fr 1.2fr 1fr;overflow:hidden}.gallery-img{min-width:0;overflow:hidden}.gallery-img img{height:100%;object-fit:cover;object-position:50% 40%}.gallery-img:first-child img{object-position:50% 46%}.gallery-quote{display:flex;align-items:center;justify-content:center;flex-direction:column;background:#e6d7de;text-align:center;padding:15px;position:relative}.gallery-quote>span:first-child{font-size:9px;letter-spacing:1.8px;color:#876b7e;font-weight:700}.gallery-quote p{font-family:var(--serif);font-size:clamp(34px,4vw,55px);line-height:1.06;margin:20px 0 0}.gallery-quote p em{color:#856182}.gallery-twinkle{position:absolute;bottom:10px;right:21px;font-size:40px;color:#bb96aa}
.faq{background:#fffdfa}.faq-grid{display:grid;grid-template-columns:37% 63%;gap:45px}.faq-intro p{font-size:13px;line-height:1.85;max-width:290px;color:#756a73;margin:20px 0 28px}.faq-list{padding-right:45px}.faq-list details{border-bottom:1px solid #e6dee3}.faq-list details:first-child{border-top:1px solid #e6dee3}.faq-list summary{list-style:none;display:flex;gap:15px;align-items:center;justify-content:space-between;font-size:13px;line-height:1.5;font-weight:650;padding:24px 0;cursor:pointer}.faq-list summary::-webkit-details-marker{display:none}.faq-list summary:hover{color:#8c6688}.faq-icon{flex:none;border:1px solid #d4c6d0;width:29px;height:29px;border-radius:50%;position:relative}.faq-icon:before,.faq-icon:after{content:'';position:absolute;background:#9b7b95;top:13px;left:9px;width:10px;height:1px}.faq-icon:after{transform:rotate(90deg);transition:transform .2s}.faq-list details[open] .faq-icon:after{transform:rotate(0)}.faq-list details p{font-size:12px;line-height:1.85;color:#766b75;margin:-5px 65px 24px 0;max-width:560px}
.contact{background:#544355;color:#fff9f7;position:relative;overflow:hidden;padding:97px 0 107px}.contact-glow{position:absolute;right:-20%;top:-40%;background:radial-gradient(circle,#8f7489,transparent 65%);width:900px;height:800px;opacity:.58;pointer-events:none}.contact-grid{display:grid;grid-template-columns:1fr 440px;gap:9%;position:relative;align-items:center}.contact-eyebrow{color:#e5cbdc}.contact-copy h2{font-size:clamp(65px,6.1vw,92px);line-height:.98;margin:22px 0 22px}.contact-copy h2 em{color:#ead5df}.contact-copy>p{font-size:13px;line-height:1.85;color:#e1d5e0;max-width:370px;margin-bottom:30px}.contact-channels{display:grid;gap:13px}.contact-channels a{display:flex;align-items:center;gap:15px;width:max-content;max-width:100%;transition:transform .2s}.contact-channels a:hover{transform:translateX(4px)}.contact-icon{width:35px;height:35px;border:1px solid #ffffff55;border-radius:50%;display:grid;place-items:center;color:#eedce6;font-size:16px}.contact-channels small{display:block;font-size:8px;color:#cab4c6;letter-spacing:1.6px;font-weight:700;margin-bottom:4px}.contact-channels strong{font-size:13px;font-weight:550}.contact-panel{background:#fffaf7;color:#302b32;padding:35px 36px 32px;box-shadow:0 25px 70px #24152327;border-radius:6px}.contact-panel-kicker{font-size:9px;color:#a5859a;letter-spacing:1.6px;font-weight:750}.contact-panel h3{font-family:var(--serif);font-size:44px;line-height:1;margin:14px 0 8px;font-weight:400}.contact-panel h3 em{color:#a3789a}.contact-panel>p{font-size:11px;color:#847b81;margin:0 0 19px}.contact-panel form{display:flex;flex-direction:column}.contact-panel label{font-size:10px;font-weight:700;color:#665b65;margin:12px 0 5px}.contact-panel input{border:1px solid #e6dce3;border-radius:4px;background:#fffdfa;outline:0;height:41px;padding:0 12px;font-size:12px;color:#342c36;width:100%}.contact-panel input:focus{border-color:#98748c;box-shadow:0 0 0 2px #bfa4b32b}.contact-panel input::placeholder{color:#aaa1a6}.btn-form{background:#5d475f;color:white;padding:16px 18px;margin-top:20px;border-radius:3px}.btn-form:hover{background:#7f627b}.btn-form span{font-size:18px}.form-note{font-size:9px!important;line-height:1.45!important;color:#8f858c!important;margin:10px 0 0!important}.footer{background:#fffdfa}.footer-inner{min-height:95px;display:flex;align-items:center;gap:30px}.footer-logo{font-family:var(--serif);font-size:31px;line-height:1}.footer-inner>span{font-size:8px;letter-spacing:1.15px;color:#887d83;font-weight:700}.footer-inner>span:nth-child(3){margin-left:auto}.back-to-top{font-size:9px;font-weight:750;letter-spacing:1px;color:#776575}.mobile-contact-shortcut{display:none}
@media(max-width:1180px){.container{width:calc(100% - 72px)}.nav-desktop{gap:19px}.header-inner{gap:22px}.hero h1{font-size:clamp(58px,6.5vw,80px)}.hero-grid{grid-template-columns:54% 46%;min-height:590px}.hero-image-wrap{min-height:480px}.project-meta h3{font-size:23px}.about-grid{gap:24px}.about-image-main{height:570px}.contact-grid{gap:5%}.service-card{padding:22px 16px}.service-card h3{font-size:34px}}
@media(max-width:920px){.container{width:calc(100% - 52px)}.header-inner{height:72px}.nav-desktop{gap:13px}.nav-desktop a{font-size:11px}.header-cta{padding:12px;font-size:10px}.hero-grid{grid-template-columns:53% 47%;padding-top:30px;min-height:530px}.hero h1{font-size:clamp(48px,6.2vw,69px);letter-spacing:-.5px}.hero h1>span{font-size:.67em}.hero-desc{font-size:12.5px;line-height:1.8}.hero-image-wrap{min-height:440px}.hero-stamp{width:110px;height:110px;right:-13px;bottom:22px}.hero-stamp span{font-size:15px}.hero-stamp strong{font-size:19px}.hero-micro{font-size:7px;gap:6px;margin-top:30px}.section{padding:85px 0}.section h2{font-size:62px}.work-grid{gap:12px}.project-art{padding:14px}.project-topline,.project-bottomline{font-size:7px}.project-meta h3{font-size:22px}.nam-graphic span{font-size:42px}.nam-graphic strong{font-size:75px}.elf-graphic span{font-size:60px}.garnier-graphic span{font-size:26px}.charlotte-graphic span{font-size:43px}.charlotte-graphic strong{font-size:58px}.service-card h3{font-size:31px}.about-image-main{height:505px}.about-image-mini{height:180px}.about-copy h3{font-size:31px}.detail-inner{gap:20px}.detail-inner h2{font-size:38px}.detail-list span{font-size:19px}.faq-grid{grid-template-columns:35% 65%;gap:20px}.faq-list{padding-right:20px}.contact-grid{grid-template-columns:1fr 42%;gap:3%}.contact-panel{padding:26px 24px}.contact-copy h2{font-size:65px}}
@media(max-width:830px){.nav-desktop,.header-cta{display:none}.menu-toggle{display:block}.hero-grid{grid-template-columns:1.05fr .95fr}.header-inner{height:68px}.hero h1{font-size:60px}.hero-actions{gap:7px}.btn-text{font-size:10px}.hero-visual{padding:0 25px 0 12px}.hero-image-wrap{min-height:465px}.hero-stamp{right:-10px}.hero-float{right:0}.work-grid{display:flex;overflow-x:auto;scroll-snap-type:x mandatory;gap:17px;scrollbar-width:none;padding-bottom:6px}.work-grid::-webkit-scrollbar{display:none}.project-card{flex:0 0 36%;scroll-snap-align:start}.slider-controls{display:flex}.service-grid{grid-template-columns:repeat(2,1fr)}.service-card{min-height:180px}.service-card h3{font-size:38px}.about-grid{grid-template-columns:.9fr 1.1fr}.about-image-main{height:460px}.about-image-mini{height:170px}.about-points{grid-template-columns:1fr}.about-points>div:nth-child(n+3){display:none}.detail-inner{grid-template-columns:1fr 1fr}.detail-inner>p{grid-column:1/-1}.contact-grid{grid-template-columns:1fr 1fr}.contact-copy h2{font-size:55px}.contact-panel h3{font-size:37px}}
@media(max-width:620px){html{scroll-padding-top:66px}.container{width:calc(100% - 38px)}.header-inner{height:64px}.logo>span:first-child{font-size:32px}.logo-caption{font-size:7px}.hero-grid{grid-template-columns:1fr;min-height:unset;padding-top:21px;padding-bottom:43px}.hero-copy{padding:15px 0 24px}.eyebrow{font-size:8px;letter-spacing:1.45px;gap:7px}.mini-star{font-size:18px}.hero h1{font-size:clamp(49px,13vw,78px);line-height:.91;margin:22px 0 18px;letter-spacing:-.8px}.hero h1>span{font-size:.68em;line-height:1;margin-top:11px}.hero-desc{font-size:12px;line-height:1.8;max-width:480px;margin-bottom:21px}.hero-actions{gap:10px;flex-wrap:nowrap}.btn-dark{padding:15px 17px;font-size:11px;gap:16px;white-space:nowrap}.btn-text{font-size:10px;gap:5px;line-height:1.45;white-space:normal}.hero-micro{display:none}.hero-visual{min-height:unset;width:100%;height:375px;padding:0 14px 0 0}.hero-image-wrap{width:100%;height:100%;min-height:unset;border-radius:150px 150px 5px 5px}.hero-image-wrap img{object-position:50% 22%}.hero-stamp{bottom:14px;right:-8px;width:102px;height:102px;border:5px solid var(--paper)}.hero-float{right:-7px;top:16px;font-size:7px}.stats-inner{min-height:81px;gap:8px}.stats-intro,.stats-mark{display:none}.stat{align-items:center;flex:1}.stat strong{font-size:27px}.stat span{font-size:7px;letter-spacing:1.1px}.section{padding:65px 0}.section-head{gap:12px;margin-bottom:27px}.section h2{font-size:clamp(48px,12.5vw,65px);line-height:.99}.section-blurb{display:none}.work-head{display:block}.work-head .section-side{display:flex;flex-direction:row;justify-content:space-between;align-items:flex-end;margin-top:14px}.section-side>p{max-width:245px;margin:0;font-size:11px;line-height:1.65}.slider-controls{flex:none}.circle-arrow{width:34px;height:34px}.project-card{flex:0 0 72%;max-width:345px}.project-art{aspect-ratio:1/1.1}.project-meta{padding-top:13px}.project-meta h3{font-size:26px}.project-meta p{font-size:10px}.project-arrow{width:29px;height:29px}.work-foot{margin-top:22px;align-items:flex-end}.work-hint{font-size:9px;line-height:1.5;max-width:155px}.work-hint .mobile-only{display:inline}.work-foot .under-link{font-size:10px;gap:5px}.services:before{font-size:120px;right:-15px}.service-grid{gap:9px}.service-card{padding:17px 13px;min-height:180px}.service-card h3{font-size:32px;margin:30px 0 13px}.service-symbol{font-size:23px}.service-card p{font-size:10px;line-height:1.5}.about-grid{display:flex;flex-direction:column;gap:35px}.about-visual{width:100%;max-width:390px;align-self:center;padding:0 45px 12px 14px}.about-image-main{height:435px}.about-image-mini{height:175px;width:39%;border-width:6px}.about-decoration{top:-22px;right:17px;font-size:48px}.about-copy{padding:0}.about-copy h2{margin:10px 0 17px}.about-intro{font-size:13px;line-height:1.85;margin:0}.about-divider{margin:22px 0}.about-copy h3{font-size:34px;margin-bottom:19px}.about-points{display:grid;grid-template-columns:repeat(2,1fr);gap:16px 9px}.about-points>div:nth-child(n+3){display:flex}.about-points p{font-size:10px}.about-points strong{font-size:10px}.about-points>div>span{font-size:8px}.detail-section{padding:38px 0}.detail-inner{grid-template-columns:1fr;gap:19px}.detail-inner h2{font-size:43px}.detail-list{grid-template-columns:1fr 1fr;gap:12px}.detail-list span{font-size:18px;padding-bottom:5px}.detail-inner>p{font-size:11px;line-height:1.8}.process .section-head{display:block}.process-grid{grid-template-columns:repeat(2,1fr);gap:28px 15px}.process-number{font-size:26px}.process-grid h3{font-size:34px;margin:18px 0 4px}.process-grid p{font-size:10px;line-height:1.6}.gallery-strip{height:190px;grid-template-columns:1fr 1.5fr 1fr}.gallery-quote>span:first-child{font-size:7px;letter-spacing:.7px}.gallery-quote p{font-size:30px;margin-top:10px}.gallery-twinkle{font-size:26px;bottom:4px;right:5px}.faq-grid{display:block}.faq-intro p{margin:14px 0 12px;font-size:11.5px}.faq-intro .under-link{display:none}.faq-list{margin-top:26px;padding:0}.faq-list summary{font-size:12px;padding:18px 0;gap:13px}.faq-list details p{font-size:11px;margin:-3px 38px 18px 0}.faq-icon{width:27px;height:27px}.faq-icon:before,.faq-icon:after{top:12px;left:8px}.contact{padding:58px 0 64px}.contact-grid{display:flex;flex-direction:column;align-items:stretch;gap:28px}.contact-copy h2{font-size:clamp(52px,13vw,74px);margin:18px 0 14px}.contact-copy>p{font-size:12px;line-height:1.7;margin-bottom:24px}.contact-channels{grid-template-columns:1fr 1fr;column-gap:8px;row-gap:15px}.contact-channels a{gap:9px;min-width:0}.contact-icon{width:27px;height:27px;flex:none;font-size:13px}.contact-channels small{font-size:7px;letter-spacing:.9px}.contact-channels strong{font-size:10px;overflow-wrap:anywhere}.contact-panel{padding:25px 21px}.contact-panel h3{font-size:43px}.contact-panel>p{margin-bottom:11px}.contact-panel label{margin-top:10px}.contact-panel input{height:39px}.footer-inner{min-height:123px;display:grid;grid-template-columns:1fr 1fr;gap:7px}.footer-logo{font-size:32px}.footer-inner>span:nth-child(2){text-align:right;font-size:7px}.footer-inner>span:nth-child(3){margin:0;font-size:7px}.back-to-top{text-align:right;font-size:8px}.mobile-contact-shortcut{position:fixed;bottom:14px;left:50%;transform:translateX(-50%);z-index:80;display:flex;align-items:center;gap:26px;background:#342b38;color:#fff;border:1px solid #ffffff25;padding:13px 20px;border-radius:30px;white-space:nowrap;box-shadow:0 7px 24px #2c1d2b35;font-size:11px;font-weight:700}.mobile-contact-shortcut span{font-size:15px}body:has(.contact:hover) .mobile-contact-shortcut{opacity:0;pointer-events:none}.footer{padding-bottom:54px}}
@media(max-width:375px){.hero h1{font-size:47px}.hero-actions{align-items:flex-start}.btn-text{font-size:9px}.project-card{flex-basis:83%}.stats-inner{gap:3px}.section h2{font-size:47px}.hero-visual{height:340px}.contact-channels{grid-template-columns:1fr}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*:before,*:after{transition-duration:.01ms!important;animation-duration:.01ms!important;scroll-behavior:auto!important}}


/* Interactive campaign video gallery. Card artwork appears until genuine media is supplied. */
.project-art{position:relative}
.film-trigger{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;flex-direction:column;gap:10px;border:0;background:transparent;color:#fff;isolation:isolate;cursor:pointer}
.film-trigger::before{content:'';position:absolute;inset:0;background:linear-gradient(180deg,transparent 50%,#20121a30);z-index:-1;opacity:.8;transition:opacity .2s}
.film-play{width:57px;height:57px;border-radius:50%;display:grid;place-items:center;background:#fffef0ed;color:#3e3340;font-size:18px;padding-left:4px;box-shadow:0 8px 25px #1e0f2625;transition:transform .25s}
.film-trigger:hover .film-play,.film-trigger:focus-visible .film-play{transform:scale(1.12)}
.film-label{background:#2b2538af;color:#fff;font-size:8px;letter-spacing:1.3px;border-radius:99px;padding:8px 12px;opacity:0;transform:translateY(3px);transition:opacity .2s,transform .2s}
.film-trigger:hover .film-label,.film-trigger:focus-visible .film-label{opacity:1;transform:translateY(0)}
.film-trigger:focus-visible{outline:3px solid #a96d91;outline-offset:3px}
body.film-open{overflow:hidden}
.film-modal[hidden],.film-fallback[hidden],.film-display video[hidden]{display:none!important}
.film-modal{position:fixed;inset:0;z-index:1000;display:grid;place-items:center;padding:20px}
.film-scrim{position:absolute;inset:0;background:#130c16de;backdrop-filter:blur(9px)}
.film-dialog{position:relative;width:min(480px,100%);max-height:calc(100dvh - 40px);display:flex;flex-direction:column;background:#fbf7f4;border-radius:18px;padding:12px;box-shadow:0 25px 100px #0006}
.film-dialog-head{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:4px 4px 10px 9px}
.film-dialog-head h2{margin:0;font:400 24px/1.15 var(--serif);color:#342c37}
.film-close{border:0;background:#eae1e6;width:33px;height:33px;border-radius:50%;color:#3f2f41;font-size:13px}
.film-display{min-height:240px;display:grid;place-items:center;background:#312333;border-radius:12px;overflow:hidden}
.film-display video{width:100%;max-height:calc(100dvh - 140px);aspect-ratio:9/16;object-fit:contain;background:#1e1820}
.film-fallback{padding:35px 25px;text-align:center;color:#f5edf4}
.film-fallback>span{color:#e2b7cb;font-size:48px}.film-fallback p{font:400 31px/1.15 var(--serif);margin:12px 0}
.film-fallback small{font-size:11px;line-height:1.7;color:#d3c6d1}
@media(max-width:620px){.film-label{opacity:1;transform:none}.film-play{width:53px;height:53px}}

/* Requested content and scroll-to-play campaign updates (2026-10-16) */
.hero h1{margin-bottom:4px}
.hero-subheading{font-family:var(--serif);font-size:clamp(35px,3.5vw,55px);line-height:1.1;color:#9d7393;margin:10px 0 24px;letter-spacing:-.5px;max-width:570px}
.hero-desc{max-width:570px}
.work .section-head h2{font-size:clamp(43px,4.8vw,70px);max-width:760px}
.work .section-side p{max-width:360px}
.project-art{padding:15px;background:#33283a;isolation:isolate}
.project-art:before{display:none}
.project-art:after{z-index:3;border:1px solid #ffffff55;inset:8px}
.project-video{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:center;z-index:0;background:#3c313c;display:block;pointer-events:none}
.project-video-vignette{position:absolute;inset:0;background:linear-gradient(to bottom,#130d1d6b 0%,transparent 24%,transparent 60%,#160d21a8 100%);z-index:1;pointer-events:none}
.project-topline{z-index:4;color:#fff;text-shadow:0 1px 8px #0008;pointer-events:none}
.video-silent-label{position:absolute;left:16px;bottom:19px;color:#fff;font-size:8px;letter-spacing:1.1px;font-weight:700;z-index:4;pointer-events:none;text-shadow:0 1px 8px #0008}
.film-trigger{position:absolute;inset:0;z-index:3;background:transparent;display:flex;align-items:flex-end;justify-content:flex-end;padding:14px;isolation:auto}
.film-trigger:before{display:none}
.video-watch-indicator{display:inline-flex;align-items:center;gap:8px;max-width:calc(100% - 20px);background:#fffef2f1;color:#342e3b;border-radius:999px;font-weight:750;letter-spacing:.15px;font-size:10px;padding:8px 10px;box-shadow:0 3px 14px #10051d2d;transition:transform .25s}
.film-trigger:hover .video-watch-indicator,.film-trigger:focus-visible .video-watch-indicator{transform:scale(1.035)}
.video-watch-play{font-size:8px;background:#342e3b;color:#fff;border-radius:50%;width:20px;height:20px;display:grid;place-items:center;padding-left:1px}
.project-card:hover .project-art{filter:none}
.about-points{grid-template-columns:1fr;gap:21px}
.about-points>div{gap:14px}
.about-points>div>span{padding-top:1px}
.about-points p{font-size:12px;line-height:1.7;max-width:560px}
.about-points strong{font-size:12px;margin-bottom:6px}
.about-followers-card{position:absolute;right:4%;top:35%;z-index:6;background:#fffcf8e8;box-shadow:0 12px 35px #30203429;padding:14px 17px;border-radius:5px;transform:rotate(3deg);display:flex;flex-direction:column;gap:2px;pointer-events:none}
.about-followers-card strong{font-family:var(--serif);font-size:32px;line-height:1;color:#463649;font-weight:400}
.about-followers-card span{font-size:9px;letter-spacing:1.1px;font-weight:700;text-transform:uppercase;color:#8d7387}
.campaign-teaser{background:linear-gradient(105deg,#f3eaef 0%,#fbf7f3 85%);padding:88px 0}
.campaign-teaser-inner{display:grid;grid-template-columns:1fr .75fr;gap:10%;align-items:center}
.campaign-teaser h2{margin:16px 0 0;font-size:clamp(49px,5vw,80px)}
.campaign-teaser-aside p{font-size:14px;line-height:1.9;color:#635c65;max-width:470px;margin:0 0 25px}
.campaign-teaser .btn-dark{display:inline-flex}
.contact-panel h3{font-size:clamp(34px,3.1vw,47px)}
@media(max-width:830px){.campaign-teaser-inner{gap:30px;grid-template-columns:1fr 1fr}.campaign-teaser h2{font-size:52px}.about-followers-card{right:5%;top:34%}}
@media(max-width:620px){.hero-subheading{font-size:clamp(31px,8vw,42px);margin:12px 0 21px}.hero h1{font-size:clamp(49px,12vw,72px)}.hero-actions{flex-wrap:wrap}.work .section-head h2{font-size:clamp(43px,10.4vw,60px)}.project-art{aspect-ratio:9/14}.video-silent-label{font-size:7px;left:13px;bottom:15px}.film-trigger{padding:11px}.video-watch-indicator{font-size:9px;padding:6px 9px;gap:5px}.about-points{grid-template-columns:1fr;gap:15px}.about-points>div:nth-child(n+3){display:none}.about-points p{font-size:11px;line-height:1.55}.about-followers-card{right:4%;top:35%;padding:10px 12px}.about-followers-card strong{font-size:28px}.campaign-teaser{padding:58px 0}.campaign-teaser-inner{display:flex;flex-direction:column;gap:18px;align-items:flex-start}.campaign-teaser h2{font-size:clamp(46px,11vw,62px)}.campaign-teaser-aside p{font-size:12px;line-height:1.75;margin-bottom:20px}.contact-panel h3{font-size:clamp(34px,9vw,44px)}}


/* ============================================
   Premium hero refinement — October 16, 2026
   Scope: hero viewport spacing, one-line desktop
   headline, subtly reduced portrait, and stat type.
   ============================================ */
/* More purposeful proportions and calmer vertical rhythm. */
html, body { overflow-x: clip; }
.hero-image-wrap img { object-position: 50% 5%; }
@media (min-width: 921px) {
  .hero-grid {
    grid-template-columns: minmax(0, 60fr) minmax(0, 40fr);
    min-height: 575px;
    padding-top: 15px;
    padding-bottom: 30px;
  }
  .hero-copy {
    padding: 0 1.5% 6px 0;
    transform: translateY(-10px);
  }
  .hero h1 {
    font-size: clamp(44px, 5vw, 72px);
    line-height: 1.04;
    letter-spacing: -1.15px;
    margin: 18px 0 5px;
    white-space: nowrap;
    max-width: none;
  }
  .hero-subheading {
    font-size: clamp(35px, 3.25vw, 47px);
    margin: 8px 0 19px;
    max-width: none;
  }
  .hero-desc { margin-bottom: 24px; }
  .hero-micro { margin-top: 33px; }
  .hero-visual { align-self: center; height: clamp(455px, 37vw, 535px); min-height: 0; padding: 12px 22px 12px 8px; }
  .hero-image-wrap { width: 95%; height: 100%; min-height: 0; }
  .hero-stamp { right: -4px; bottom: 20px; }
  .hero-float { right: -3px; top: 34px; }
}
@media (min-width: 921px) and (max-width: 1180px) {
  .hero-grid { min-height: 530px; }
  .hero-visual { height: clamp(430px, 41vw, 485px); min-height: 0; }
  .hero-image-wrap { height: 100%; min-height: 0; }
  .hero-stamp { width: 109px; height: 109px; }
  .hero-stamp span { font-size: 16px; }
  .hero-stamp strong { font-size: 20px; }
}
/* Stats: a clearer hierarchy without taking significantly more space. */
.stats-inner { min-height: 112px; }
.stats-intro { font-size: 11.5px; letter-spacing: 1.35px; line-height: 1.6; }
.stat strong { font-size: 35px; line-height: 1.03; }
.stat span { font-size: 9.7px; letter-spacing: 1.25px; }
@media (min-width: 621px) and (max-width: 920px) {
  .hero-grid {
    grid-template-columns: minmax(0, 57fr) minmax(0, 43fr);
    min-height: 510px;
    padding-top: 18px;
    padding-bottom: 30px;
  }
  .hero-copy { padding: 0 1% 0 0; transform: translateY(-7px); }
  .hero h1 {
    font-size: clamp(37px, 4.8vw, 47px);
    line-height: 1.02;
    margin: 14px 0 6px;
    letter-spacing: -1px;
    white-space: normal; /* retain readable headings on narrower tablets */
  }
  .hero-subheading { font-size: clamp(30px, 3.6vw, 39px); margin: 8px 0 17px; }
  .hero-desc { margin-bottom: 18px; }
  .hero-micro { margin-top: 22px; }
  .hero-visual { align-self: center; height: 435px; padding: 0 15px 12px 4px; min-height: 0; }
  .hero-image-wrap { height: 100%; min-height: 0; width: 95%; }
  .hero-stamp { right: -8px; bottom: 20px; }
}
@media (max-width: 620px) {
  .hero-grid { padding-top: 9px; padding-bottom: 25px; }
  .hero-copy { padding: 0 0 14px; transform: none; }
  .hero h1 {
    font-size: clamp(28px, 8.5vw, 35px);
    line-height: .99;
    letter-spacing: -1px;
    margin: 13px 0 5px;
    white-space: nowrap;
  }
  .hero-subheading {
    font-size: clamp(27px, 7vw, 35px);
    line-height: 1.04;
    margin: 7px 0 15px;
  }
  .hero-desc { line-height: 1.65; margin-bottom: 17px; }
  .hero-visual { height: 315px; padding: 0 18px 0 15px; }
  .hero-image-wrap { width: 95%; min-height: unset; }
  .hero-stamp { width: 89px; height: 89px; bottom: 10px; right: -3px; }
  .hero-stamp span { font-size: 14px; }
  .hero-stamp strong { font-size: 17px; }
  .stats-inner { min-height: 91px; gap: 7px; }
  .stat strong { font-size: 31px; }
  .stat span { font-size: 8.4px; letter-spacing: 1px; }
}
@media (max-width: 375px) {
  .hero h1 { font-size: clamp(28px, 8.5vw, 35px); }
  .hero-subheading { font-size: clamp(25px, 7vw, 29px); }
  .hero-visual { height: 288px; }
  .stat strong { font-size: 29px; }
  .stat span { font-size: 8px; }
}


/* Hero readability & editorial rhythm — Oct 16, 2026.
   Preserve the single-line desktop headline, CTA content, photos,
   all following sections and video behaviour. */
.hero .eyebrow {
  font-size: 10.5px;
  line-height: 1.7;
  letter-spacing: 2px;
}
.hero-desc {
  font-size: 17px;
  line-height: 1.78;
  font-weight: 400;
  letter-spacing: .015px;
  color: #514b55;
  max-width: 530px;
  text-wrap: pretty;
}
.hero .btn-dark {
  font-size: 12px;
  letter-spacing: .05px;
}
.hero .btn-text {
  color: #706473;
  border-bottom-color: #c2afb8;
  font-weight: 550;
}
@media (min-width: 921px) {
  .hero-grid {
    min-height: 605px;
    padding-top: 22px;
    padding-bottom: 32px;
  }
  .hero-copy {
    padding-right: 2.3%;
    transform: translateY(-8px);
  }
  .hero h1 {
    font-size: clamp(44px, 4.95vw, 72px);
    line-height: 1.12;
    margin: 23px 0 11px;
    letter-spacing: -1.05px;
  }
  .hero-subheading {
    font-size: clamp(35px, 3.08vw, 45px);
    line-height: 1.2;
    margin: 2px 0 26px;
    letter-spacing: -.28px;
  }
  .hero-desc { margin-bottom: 30px; }
  .hero-actions { gap: 18px 22px; }
  .hero-micro { margin-top: 38px; opacity: .85; }
  .hero-visual { height: clamp(460px, 38vw, 530px); }
}
@media (min-width: 921px) and (max-width: 1180px) {
  .hero-grid { min-height: 570px; }
  .hero-subheading { font-size: clamp(33px, 3vw, 39px); }
  .hero-desc { font-size: 15.5px; line-height: 1.77; }
  .hero-actions { gap: 12px 16px; }
  .hero-micro { margin-top: 28px; }
  .hero-visual { height: clamp(430px, 41vw, 485px); }
}
@media (min-width: 621px) and (max-width: 920px) {
  .hero-grid { min-height: 565px; padding-top: 22px; padding-bottom: 30px; }
  .hero-copy { transform: translateY(-5px); }
  .hero h1 { line-height: 1.11; margin: 18px 0 10px; }
  .hero-subheading { font-size: clamp(30px, 3.5vw, 38px); line-height: 1.19; margin: 4px 0 21px; }
  .hero-desc { font-size: 14.5px; line-height: 1.78; margin-bottom: 24px; }
  .hero-actions { gap: 10px 16px; }
  .hero-micro { margin-top: 27px; }
}
@media (max-width: 620px) {
  .hero-grid { padding-top: 14px; padding-bottom: 28px; }
  .hero-copy { padding: 0 0 18px; }
  .hero .eyebrow { font-size: 9px; line-height: 1.6; letter-spacing: 1.35px; }
  .hero h1 {
    font-size: clamp(28px, 8.45vw, 35px);
    line-height: 1.13;
    letter-spacing: -.85px;
    margin: 18px 0 10px;
  }
  .hero-subheading {
    font-size: clamp(27px, 7.05vw, 35px);
    line-height: 1.23;
    letter-spacing: -.15px;
    margin: 4px 0 20px;
  }
  .hero-desc {
    font-size: 15.5px;
    line-height: 1.77;
    max-width: 480px;
    margin: 0 0 25px;
  }
  .hero-actions {
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    gap: 13px;
  }
  .hero .btn-dark { padding: 16px 21px; font-size: 11px; }
  .hero .btn-text { padding: 5px 0 8px; font-size: 11px; }
  .hero-visual { height: 300px; }
}
@media (max-width: 375px) {
  .hero h1 { font-size: clamp(27px, 8.3vw, 31px); }
  .hero-subheading { font-size: clamp(25px, 7vw, 28px); }
  .hero-desc { font-size: 14.5px; line-height: 1.74; }
  .hero-visual { height: 282px; }
}

/* Show the persistent mobile CTA after the hero, never over the hero portrait. */
@media (max-width: 620px) {
  .mobile-contact-shortcut {
    opacity: 0;
    visibility: hidden;
    pointer-events: none;
    transform: translate(-50%, 12px);
    transition: opacity .24s ease, transform .24s ease, visibility .24s;
  }
  body.hero-passed .mobile-contact-shortcut {
    opacity: 1;
    visibility: visible;
    pointer-events: auto;
    transform: translate(-50%, 0);
  }
  body.hero-passed:has(.contact:hover) .mobile-contact-shortcut {
    opacity: 0;
    pointer-events: none;
  }
}
