:root{--ink:#151d21;--night:#102026;--stone:#f3f2ed;--paper:#fcfbf7;--muted:#667078;--line:#dfdfd7;--copper:#ba875f;--copper2:#e1b991;--white:#fff;--radius:18px;--shadow:0 30px 70px rgba(12,32,36,.14)}
*,*::before,*::after{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--paper);color:var(--ink);font:400 16px/1.65 'Segoe UI',Inter,ui-sans-serif,system-ui,-apple-system,sans-serif;-webkit-font-smoothing:antialiased}img,video{max-width:100%;display:block}a{color:inherit;text-decoration:none}button,input,textarea,select{font:inherit}button{cursor:pointer}a:focus-visible,button:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible{outline:3px solid #dcad79;outline-offset:3px}::selection{background:var(--copper2);color:var(--ink)}.container{width:min(1180px,calc(100% - 48px));margin-inline:auto}.wide{width:min(1350px,calc(100% - 44px));margin-inline:auto}.eyebrow{color:#9f7453;text-transform:uppercase;letter-spacing:.22em;font-size:11px;font-weight:800;display:inline-flex;align-items:center;gap:12px}.eyebrow:before{content:'';width:26px;height:1px;background:currentColor}.eyebrow.light{color:var(--copper2)}.display{font-size:clamp(44px,6.4vw,88px);line-height:1.06;letter-spacing:-.065em;font-weight:520;margin:19px 0 23px}.display em,.section-title em,.page-title em{font-weight:450;font-family:Georgia,'Times New Roman',serif;color:var(--copper);letter-spacing:-.06em}.section-title{font-size:clamp(31px,4vw,56px);line-height:1.13;letter-spacing:-.048em;font-weight:550;margin:16px 0}.page-title{font-size:clamp(42px,6.2vw,78px);line-height:1.08;letter-spacing:-.055em;font-weight:550;margin:18px 0 25px}.lead{font-size:clamp(16px,1.45vw,20px);line-height:1.8;color:#526067;max-width:680px}.small{font-size:13px;color:var(--muted)}.muted{color:var(--muted)}.caps{letter-spacing:.18em;text-transform:uppercase;font-size:10px;font-weight:750}.section{padding:110px 0}.section.narrow{padding:75px 0}.section-head{display:flex;align-items:end;justify-content:space-between;gap:30px;margin-bottom:40px}.section-head p{max-width:400px;color:var(--muted)}.btn{border:1px solid transparent;display:inline-flex;gap:12px;align-items:center;justify-content:center;font-size:13px;font-weight:740;min-height:50px;padding:15px 23px;transition:transform .25s,background .25s,border-color .25s;border-radius:4px;white-space:nowrap}.btn:hover{transform:translateY(-2px)}.btn-primary{background:var(--copper);color:#142025}.btn-primary:hover{background:var(--copper2)}.btn-dark{background:var(--night);color:white}.btn-dark:hover{background:#273940}.btn-outline{border-color:#879194;color:var(--ink);background:transparent}.btn-outline:hover{border-color:var(--copper)}.btn-outline-light{border-color:#ffffff7d;color:white}.btn-outline-light:hover{background:#fff2}.btn svg{width:16px;height:16px}.text-link{display:inline-flex;align-items:center;gap:12px;font-size:12px;font-weight:800;letter-spacing:.06em;border-bottom:1px solid var(--copper);padding-bottom:6px;transition:gap .2s}.text-link:hover{gap:18px}
/* header */.site-header{z-index:30;position:sticky;top:0;height:79px;background:rgba(252,251,247,.96);backdrop-filter:blur(18px);border-bottom:1px solid #dedfdab5}.nav-inner{display:flex;align-items:center;justify-content:space-between;height:100%;gap:26px}.brand{display:flex;align-items:center;gap:10px;flex-shrink:0}.brand-mark{font-size:29px;font-weight:750;letter-spacing:-.14em;color:var(--copper);line-height:1;padding-right:4px}.brand-name{font-size:21px;letter-spacing:-.075em;font-weight:800;line-height:1}.brand-sub{font-size:8px;letter-spacing:.24em;text-transform:uppercase;color:#667078;font-weight:750;margin-top:5px}.nav-links{display:flex;align-items:center;gap:29px}.nav-links a{font-size:12px;font-weight:700;color:#3a484e;transition:color .2s}.nav-links a:hover,.nav-links a.active{color:#a16d45}.nav-cta{margin-left:2px}.nav-toggle{display:none;background:none;border:0;padding:7px;font-size:26px;color:var(--ink)}.nav-toggle span{display:block;width:25px;height:2px;background:currentColor;margin:5px 0}
/* hero */.hero{background:var(--night);color:#fff;overflow:hidden}.hero-grid{display:grid;grid-template-columns:1.03fr .97fr;min-height:680px;max-height:830px}.hero-copy{position:relative;padding:115px 20px 92px max(34px,calc((100vw - 1180px)/2));display:flex;flex-direction:column;align-items:start;justify-content:center;z-index:2}.hero-copy .display{max-width:680px}.hero-copy .lead{color:#ced3d2;max-width:520px;font-size:17px}.hero-actions{display:flex;flex-wrap:wrap;gap:13px;margin-top:30px}.hero-proof{display:flex;align-items:center;gap:22px;margin-top:55px;padding-top:23px;border-top:1px solid #a9b2ac42;color:#bec8c5;font-size:11px;letter-spacing:.12em;text-transform:uppercase}.hero-proof span+span{border-left:1px solid #ffffff55;padding-left:22px}.hero-visual{position:relative;overflow:hidden;background:#18292b}.hero-visual:before{content:'';position:absolute;inset:0;z-index:1;background:linear-gradient(90deg,var(--night) 0%,transparent 18%),linear-gradient(0deg,#10202672 0%,transparent 55%);pointer-events:none}.hero-visual>img{height:100%;width:100%;object-fit:cover;object-position:50% 45%;filter:saturate(.87) contrast(1.045)}.hero-side-label{position:absolute;right:24px;top:50%;z-index:2;writing-mode:vertical-rl;letter-spacing:.32em;text-transform:uppercase;font-size:10px;font-weight:800;color:#fff9}.hero-photo-caption{position:absolute;z-index:3;left:54px;bottom:48px;max-width:250px;color:#fff9}.hero-photo-caption strong{display:block;font-size:18px;color:#fff;font-weight:500;margin-top:10px}.hero-photo-caption:before{content:'';display:block;width:52px;height:1px;background:var(--copper2)}.hero-play{position:absolute;z-index:3;left:52%;top:48%;transform:translate(-50%,-50%);width:82px;height:82px;border-radius:50%;border:1px solid #fff9;background:#141e2270;backdrop-filter:blur(8px);color:white;font-size:23px;display:grid;place-items:center;transition:background .2s,scale .2s}.hero-play:hover{background:#bd8d65;scale:1.06}
/* visual sections */.section-cream{background:var(--stone)}.section-dark{background:var(--night);color:white}.section-dark .lead,.section-dark p{color:#c5cdca}.intro-grid{display:grid;grid-template-columns:1fr 1.15fr;gap:95px;align-items:center}.feature-visual{position:relative;max-height:640px}.feature-visual>img{width:100%;height:540px;object-fit:cover;border-radius:2px}.feature-sticker{position:absolute;bottom:-22px;right:-25px;background:#c48b5b;color:#18262b;width:160px;height:160px;border-radius:50%;display:grid;place-items:center;text-align:center;transform:rotate(-11deg);font-weight:750;letter-spacing:.04em;line-height:1.5;font-size:12px}.check-list{padding:0;list-style:none;margin:25px 0 32px}.check-list li{padding:9px 0;border-bottom:1px solid #e4e3dc;display:flex;gap:12px;align-items:center;font-size:14px}.check-list li:before{content:'↗';color:var(--copper);font-size:19px}.services-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:16px}.service-card{background:white;border:1px solid #e5e5df;padding:26px 23px;display:flex;flex-direction:column;min-height:270px;transition:box-shadow .3s,transform .3s,border .3s}.service-card:hover{box-shadow:0 20px 45px #1b2f3317;transform:translateY(-5px);border-color:#cbb194}.service-n{font:italic 29px Georgia,serif;color:#bd946e;margin-bottom:25px}.service-card h3{font-size:19px;font-weight:650;letter-spacing:-.03em;line-height:1.25;margin:0 0 10px}.service-card p{font-size:13px;color:#6d777d;flex:1;line-height:1.7}.service-card .text-link{font-size:11px;align-self:start;margin-top:15px}.portfolio-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:20px}.project-card{position:relative;display:block;overflow:hidden;background:#1f282b;min-height:300px;isolation:isolate}.project-card img{width:100%;height:100%;object-fit:cover;position:absolute;inset:0;transition:transform .65s}.project-card:hover img{transform:scale(1.055)}.project-card:after{content:'';position:absolute;inset:0;background:linear-gradient(0deg,#0c2024c9,transparent 56%)}.project-info{position:absolute;left:24px;bottom:25px;right:15px;z-index:1;color:white}.project-info small{display:block;color:#f2bd8c;text-transform:uppercase;letter-spacing:.13em;font-size:10px}.project-info h3{font-size:21px;letter-spacing:-.03em;margin:7px 0 0;line-height:1.25;font-weight:560}.project-card.tall{grid-row:span 2;min-height:620px}.project-card.wide-card{grid-column:span 2}.project-card.wide-card img{object-position:center 40%}.portfolio-grid .project-card:not(.tall){aspect-ratio:1.08}.video-callout{margin-top:85px;display:grid;grid-template-columns:1fr 1fr;align-items:center;background:#1d3136;color:white}.video-callout-image{position:relative;height:390px;overflow:hidden}.video-callout-image img{width:100%;height:100%;object-fit:cover}.video-callout-image:after{content:'';position:absolute;inset:0;background:linear-gradient(90deg,transparent,#1d31365a)}.video-callout-copy{padding:55px 70px}.video-callout-copy p{color:#bfc9c9}.play-small{display:flex;align-items:center;gap:13px;background:transparent;border:0;padding:0;color:white;text-align:left;font-size:13px;font-weight:750}.play-small span{display:grid;place-items:center;width:49px;height:49px;border:1px solid #e0c49a;border-radius:50%;font-size:14px}.process-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:30px}.process-step{border-top:1px solid #8da0a17d;padding-top:23px}.process-step .process-n{font:italic 43px Georgia,serif;color:#c49871}.process-step h3{font-size:19px;margin:18px 0 10px}.process-step p{font-size:13px;line-height:1.75;color:#cbd2d1}.cta-band{background:#c89468;color:#1b272a;text-align:center;padding:85px 25px}.cta-band h2{font-size:clamp(32px,5vw,60px);letter-spacing:-.055em;line-height:1.14;font-weight:560;margin:18px 0}.cta-band p{max-width:570px;margin:0 auto 27px}.cta-band .btn{background:#17272d;color:white}
/* general page */.page-hero{background:var(--night);color:white;padding:100px 0 90px;position:relative;overflow:hidden}.page-hero:after{content:'DS';position:absolute;top:-100px;right:-24px;font-size:420px;font-weight:800;letter-spacing:-.16em;color:#ffffff07;line-height:1;pointer-events:none}.page-hero .container{position:relative;z-index:1}.page-hero .lead{color:#c6cfcd}.breadcrumb{display:flex;gap:9px;align-items:center;font-size:11px;color:#bac2be;margin-bottom:22px}.breadcrumb a{text-decoration:underline;text-underline-offset:3px}.breadcrumb span{color:#e8b990}.paragraphs{max-width:850px}.paragraphs p{color:#59666b;line-height:1.9}.paragraphs h2{font-size:clamp(26px,3vw,40px);letter-spacing:-.04em;line-height:1.2;margin:43px 0 15px}.paragraphs h3{font-size:21px;margin:28px 0 10px}.paragraphs ul{padding-left:21px;color:#586468}.paragraphs li{margin:11px 0}.paragraphs a{color:#956642;text-decoration:underline;text-underline-offset:3px}.split{display:grid;grid-template-columns:1.08fr 1fr;gap:70px;align-items:center}.split img{width:100%;max-height:600px;object-fit:cover}.split.reverse>div:first-child{order:2}.split.reverse>img{order:1}.stat-strip{display:grid;grid-template-columns:repeat(3,1fr);gap:16px;border-top:1px solid var(--line);padding:24px 0}.stat-strip>div{border-right:1px solid var(--line);padding-right:25px}.stat-strip>div:last-child{border:0}.stat-strip strong{display:block;font-size:23px;font-weight:600;letter-spacing:-.035em}.stat-strip span{font-size:12px;color:var(--muted)}.faq{max-width:850px;margin:0 auto}.faq details{border-bottom:1px solid #d6d7d0;padding:20px 4px}.faq summary{list-style:none;display:flex;justify-content:space-between;gap:16px;font-weight:700;cursor:pointer}.faq summary::-webkit-details-marker{display:none}.faq summary:after{content:'+';font-size:26px;font-weight:400;color:#a67855;line-height:1}.faq details[open] summary:after{content:'−'}.faq details p{color:var(--muted);margin:16px 0 0;max-width:720px}
/* portfolio */.filters{display:flex;gap:9px;flex-wrap:wrap;margin:0 0 30px}.filter{border:1px solid #dddcd4;background:transparent;border-radius:30px;font-size:12px;font-weight:650;padding:10px 17px;transition:background .2s}.filter.active,.filter:hover{background:#18292e;border-color:#18292e;color:white}.gallery-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px}.gallery-item{background:white;border:1px solid var(--line);position:relative;overflow:hidden}.gallery-item.hidden{display:none}.gallery-open{width:100%;padding:0;border:0;background:none;text-align:left;display:block;color:inherit}.gallery-img-wrap{position:relative;aspect-ratio:4/3;background:#dee1df;overflow:hidden}.gallery-item.portrait .gallery-img-wrap{aspect-ratio:3/4}.gallery-img-wrap img{width:100%;height:100%;object-fit:cover;transition:transform .5s}.gallery-open:hover img{transform:scale(1.055)}.gallery-zoom{position:absolute;right:14px;top:14px;background:#f8f7f1eb;width:35px;height:35px;border-radius:50%;display:grid;place-items:center;font-size:19px}.gallery-meta{padding:18px 19px}.gallery-meta small{color:#a77854;letter-spacing:.12em;font-size:10px;text-transform:uppercase;font-weight:700}.gallery-meta h2{font-size:16px;line-height:1.36;letter-spacing:-.025em;font-weight:650;margin:5px 0 0}.gallery-video .gallery-img-wrap:after{content:'▶';position:absolute;inset:0;display:grid;place-items:center;font-size:35px;color:#fff;text-shadow:0 0 20px black;pointer-events:none}.gallery-empty{display:none;color:var(--muted)}.gallery-empty.show{display:block}.video-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}.video-card{background:#132126;color:white;overflow:hidden}.video-card video{height:360px;width:100%;object-fit:contain;background:#0b1214}.video-card .meta{padding:20px}.video-card h3{font-size:16px;margin:0 0 5px}.video-card p{font-size:12px;color:#b9c3bf;margin:0}
/* form */.contact-grid{display:grid;grid-template-columns:.85fr 1.15fr;gap:75px}.contact-details{padding:28px 0}.contact-details .detail{border-top:1px solid #e2e1db;padding:20px 0}.contact-details .detail span{display:block;font-size:11px;text-transform:uppercase;letter-spacing:.15em;color:#9b6d4b}.contact-details .detail a,.contact-details .detail strong{font-size:20px;font-weight:600;letter-spacing:-.02em}.form-card{background:#fff;padding:40px;border:1px solid #e5e3dc;box-shadow:0 15px 50px #1b31330d}.form-card h2{font-size:29px;letter-spacing:-.04em;margin:0 0 8px}.form-card p{color:var(--muted);font-size:13px;margin:0 0 22px}.form-fields{display:grid;grid-template-columns:1fr 1fr;gap:16px}.field{display:flex;flex-direction:column;gap:6px;margin-bottom:6px}.field.full{grid-column:1/-1}.field label{font-size:12px;font-weight:700}.field input,.field select,.field textarea{width:100%;background:#fafaf8;border:1px solid #d8d9d4;border-radius:3px;padding:14px 13px;color:#18262c;outline:none}.field input:focus,.field textarea:focus,.field select:focus{border-color:var(--copper)}.field textarea{min-height:120px;resize:vertical}.checkline{display:flex;gap:10px;align-items:start;margin:17px 0;font-size:12px;color:#677277}.checkline input{margin-top:4px;accent-color:var(--copper)}.checkline a{color:#966943;text-decoration:underline}
/* journal */.article-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:25px}.article-card{background:white;border:1px solid var(--line)}.article-card img{height:295px;width:100%;object-fit:cover}.article-card>div{padding:24px}.article-card small{font-size:11px;color:#a67a58;text-transform:uppercase;letter-spacing:.1em}.article-card h2{font-size:24px;letter-spacing:-.04em;line-height:1.25;margin:12px 0}.article-card p{color:var(--muted);font-size:13px}.article-hero{width:100%;max-height:540px;object-fit:cover;margin:45px 0}.article-meta{font-size:12px;color:var(--muted)}.article-layout{display:grid;grid-template-columns:minmax(0,770px) 1fr;gap:75px}.article-aside{position:sticky;top:110px;align-self:start;padding:25px;background:var(--stone);font-size:13px}.article-aside a{display:block;padding:8px 0;border-bottom:1px solid #ddd}
/* footer */.site-footer{background:#0b171b;color:#fff;padding:70px 0 20px}.footer-grid{display:grid;grid-template-columns:1.5fr 1fr 1fr 1fr;gap:36px}.footer-logo .brand-name{font-size:27px}.footer-desc{font-size:13px;color:#acb9b5;max-width:310px;margin-top:22px}.site-footer h3{font-size:12px;color:#d8ae8a;text-transform:uppercase;letter-spacing:.16em;margin:6px 0 22px}.site-footer .footer-link{display:block;font-size:13px;color:#c6d0cd;padding:5px 0}.site-footer .footer-link:hover{color:#e2b78f}.footer-bottom{border-top:1px solid #ffffff22;margin-top:65px;padding:23px 0;display:flex;justify-content:space-between;gap:20px;font-size:11px;color:#a2b0ac}.whats-float{position:fixed;z-index:25;right:24px;bottom:23px;display:inline-flex;align-items:center;gap:11px;background:#194a38;color:white;box-shadow:0 12px 34px #0004;padding:12px 17px;border-radius:50px;font-size:12px;font-weight:750;transition:transform .2s}.whats-float:hover{transform:translateY(-3px)}.whats-float .bubble{font-size:19px}.lightbox{position:fixed;z-index:90;inset:0;background:rgba(8,15,17,.95);display:none;flex-direction:column;align-items:center;justify-content:center;padding:70px 22px 30px}.lightbox.is-open{display:flex}.lightbox img{max-width:min(100%,1250px);max-height:calc(100vh - 175px);object-fit:contain}.lightbox p{color:#eee;text-align:center;margin:18px 0 0}.lightbox button{background:#ffffff18;border:1px solid #ffffff55;color:white;padding:9px 15px;border-radius:4px}.lightbox-close{position:absolute;right:25px;top:20px;font-size:25px}.lightbox-nav{position:absolute;top:50%;display:flex;left:20px;right:20px;justify-content:space-between;pointer-events:none}.lightbox-nav button{pointer-events:auto}.video-modal{position:fixed;z-index:92;inset:0;background:rgba(5,11,14,.94);display:none;align-items:center;justify-content:center;padding:70px 24px 30px}.video-modal.is-open{display:flex}.video-modal video{width:min(100%,1040px);max-height:80vh;background:#000}.video-modal .lightbox-close{position:absolute}
@media(max-width:1040px){.nav-links{gap:17px}.nav-links a{font-size:11px}.services-grid{grid-template-columns:repeat(2,1fr)}.hero-grid{min-height:640px}.hero-copy{padding-left:34px}.hero-proof{gap:12px}.footer-grid{grid-template-columns:1.4fr 1fr 1fr}.footer-grid>div:last-child{grid-column:2 / span 2}.intro-grid,.split{gap:45px}}
@media(max-width:760px){.container,.wide{width:calc(100% - 34px)}.site-header{height:68px}.brand-name{font-size:19px}.nav-toggle{display:block;order:3}.nav-cta{margin-left:auto;min-height:41px;padding:10px 13px;font-size:11px}.nav-links{display:none;position:absolute;top:68px;left:0;right:0;padding:17px;background:var(--paper);box-shadow:0 18px 28px #13282b1c;flex-direction:column;align-items:stretch;gap:0}.nav-links.open{display:flex}.nav-links a{font-size:14px;padding:12px}.hero-grid{display:block;min-height:0;max-height:none}.hero-copy{padding:78px 25px 52px}.hero-copy .display{font-size:clamp(45px,10vw,70px)}.hero-copy .lead{font-size:15px}.hero-visual{height:430px}.hero-visual:before{background:linear-gradient(0deg,#102026a0,transparent 55%)}.hero-proof{margin-top:35px;gap:10px;flex-wrap:wrap;font-size:10px}.hero-proof span+span{padding-left:9px}.hero-photo-caption{left:22px;bottom:20px}.hero-play{left:50%;top:46%}.section{padding:72px 0}.section-head{display:block}.intro-grid,.split,.contact-grid,.article-layout{grid-template-columns:1fr;gap:34px}.split.reverse>div:first-child,.split.reverse>img{order:initial}.feature-visual>img{height:400px}.feature-sticker{right:0;width:120px;height:120px;font-size:10px}.services-grid,.article-grid{grid-template-columns:1fr 1fr}.service-card{min-height:220px}.portfolio-grid{grid-template-columns:1fr 1fr;gap:12px}.project-card.tall{min-height:480px}.project-card.wide-card{grid-column:span 2}.video-callout{grid-template-columns:1fr}.video-callout-image{height:295px}.video-callout-copy{padding:32px}.process-grid{grid-template-columns:1fr 1fr}.gallery-grid{grid-template-columns:1fr 1fr}.video-grid{grid-template-columns:1fr 1fr}.page-hero{padding:67px 0 60px}.page-hero:after{font-size:230px;right:0;top:0}.footer-grid{grid-template-columns:1fr 1fr;gap:30px}.footer-grid>div:first-child{grid-column:1/-1}.footer-grid>div:last-child{grid-column:auto}.footer-bottom{flex-direction:column}.article-aside{display:none}}
@media(max-width:500px){.services-grid,.article-grid,.gallery-grid,.video-grid{grid-template-columns:1fr}.portfolio-grid{grid-template-columns:1fr 1fr}.portfolio-grid .project-card{min-height:235px}.portfolio-grid .project-card.tall{min-height:480px}.project-card.wide-card{min-height:300px}.project-info{left:14px;bottom:14px}.project-info h3{font-size:15px}.project-info small{font-size:9px}.process-grid{grid-template-columns:1fr}.form-fields{grid-template-columns:1fr}.form-card{padding:24px}.form-card h2{font-size:25px}.footer-grid{grid-template-columns:1fr 1fr}.footer-grid>div:nth-child(4){grid-column:1/-1}.whats-float{right:13px;bottom:13px}.section-head p{margin-bottom:25px}.stat-strip{grid-template-columns:1fr}.stat-strip>div{border:0;border-bottom:1px solid var(--line);padding:12px 0}.hero-proof span+span{border-left:0}.page-title{font-size:clamp(42px,10vw,64px)}}
@media(prefers-reduced-motion:reduce){*,*:before,*:after{scroll-behavior:auto!important;transition:none!important;animation:none!important}}
