:root{--ink:#0a0a0a;--paper:#f3f0e8;--clay:#c8947a;--muted:#a7a198;--line:rgba(243,240,232,.35);--mono:"DM Mono",monospace;--sans:"DM Sans",sans-serif;--serif:"Instrument Serif",Georgia,serif}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--paper);color:var(--ink);font-family:var(--sans)}a{color:inherit;text-decoration:none}img{display:block;width:100%;height:100%;object-fit:cover}.skip-link{background:var(--paper);color:var(--ink);left:12px;padding:10px 14px;position:fixed;top:-80px;z-index:1000}.skip-link:focus{top:12px}.site-header{color:#fff;display:flex;align-items:flex-start;justify-content:space-between;left:0;padding:24px 28px;position:absolute;right:0;top:0;z-index:10}.wordmark{font:500 11px/.93 var(--mono);letter-spacing:.05em}.site-nav{display:flex;align-items:center;gap:28px;font:500 10px/1 var(--mono);letter-spacing:.07em;text-transform:uppercase}.site-nav a{opacity:.9;transition:opacity .2s}.site-nav a:hover{opacity:.55}.site-nav .nav-contact{border:1px solid rgba(255,255,255,.75);padding:10px 13px}.site-nav span,.text-link span,.contact-link span{font-size:1.15em;margin-left:13px}.menu-toggle{display:none}.hero{background:var(--ink);color:#fff;display:grid;min-height:100svh;overflow:hidden;position:relative}.hero-photo{grid-area:1/1;height:100%;margin-left:34%;position:relative;width:66%}.hero-photo:after{background:linear-gradient(90deg,#0a0a0a 0%,rgba(10,10,10,.86) 8%,rgba(10,10,10,0) 35%);content:"";inset:0;position:absolute}.hero-photo img{filter:saturate(.82) contrast(1.04);object-position:center}.hero-copy{align-self:center;grid-area:1/1;max-width:650px;padding-left:max(9.2vw,80px);position:relative;z-index:1}.eyebrow{font:500 10px/1.3 var(--mono);letter-spacing:.075em;margin:0;text-transform:uppercase}.hero .eyebrow{color:#d8d0c8}.hero h1,.intro h2,.section-heading h2,.editorial-note h2,.about h2,.contact h2{font:400 clamp(4rem,9.5vw,10rem)/.72 var(--serif);letter-spacing:-.075em;margin:25px 0}.hero h1 em,.intro h2 em,.section-heading h2 em,.editorial-note h2 em,.about h2 em,.contact h2 em{color:var(--clay);font-weight:400}.hero-intro{font-size:15px;line-height:1.55;margin:34px 0 0;max-width:290px}.hero-index{bottom:25px;font:400 9px/1.45 var(--mono);letter-spacing:.08em;position:absolute;right:29px;text-align:right;text-transform:uppercase}.scroll-cue{bottom:26px;font:500 9px/1 var(--mono);left:max(9.2vw,80px);letter-spacing:.08em;position:absolute;text-transform:uppercase;z-index:1}.scroll-cue span{font-size:17px;margin-left:13px}.intro{background:var(--ink);color:var(--paper);padding:clamp(100px,14vw,205px) max(7vw,28px)}.intro-grid{display:grid;gap:11%;grid-template-columns:1.1fr .75fr;margin-top:32px}.intro h2{font-size:clamp(3.8rem,7.8vw,8rem);margin:0}.intro-body{align-self:end;padding-bottom:6px}.intro-body p,.about-copy>p,.contact-bottom p{font-size:16px;line-height:1.6;margin:0 0 20px}.text-link{border-bottom:1px solid currentColor;display:inline-block;font:500 10px/1.2 var(--mono);letter-spacing:.06em;margin-top:12px;padding-bottom:5px;text-transform:uppercase}.work{background:var(--paper);padding:clamp(90px,13vw,190px) max(4vw,22px)}.section-heading{margin-bottom:clamp(60px,10vw,150px);padding-left:max(4vw,22px)}.section-heading .eyebrow{color:#7c746b}.section-heading h2{font-size:clamp(4.1rem,9vw,9.5rem);margin-bottom:0}.work-grid{display:grid;gap:clamp(20px,3vw,55px);grid-template-columns:1.08fr .5fr .8fr;grid-template-rows:auto auto}.work-item{margin:0}.work-item img{background:#ded8cd;transition:transform .7s cubic-bezier(.2,.7,.2,1)}.work-item{overflow:hidden}.work-item:hover img{transform:scale(1.025)}.work-item-feature{grid-column:1/2;grid-row:1/3;margin-top:19vw}.work-item-feature img{aspect-ratio:.75}.work-item-tall{grid-column:2/3;grid-row:1/2}.work-item-tall img{aspect-ratio:.7}.work-item-wide{grid-column:3/4;grid-row:1/2;margin-top:12vw}.work-item-wide img{aspect-ratio:1.02}.work-item-small{grid-column:2/3;grid-row:2/3;margin-top:8vw}.work-item-small img{aspect-ratio:.7}.work-item-tall-two{grid-column:3/4;grid-row:2/3}.work-item-tall-two img{aspect-ratio:.67}figcaption{display:flex;font:500 9px/1.25 var(--mono);justify-content:space-between;letter-spacing:.06em;padding-top:10px;text-transform:uppercase}.editorial-note{background:#d8d1c8;display:grid;gap:10%;grid-template-columns:1fr .75fr;padding:clamp(100px,13vw,185px) max(7vw,28px)}.editorial-note h2{font-size:clamp(3.5rem,6.5vw,7.2rem);margin:20px 0 0}.editorial-note>p{align-self:end;font-size:clamp(17px,1.6vw,24px);line-height:1.45;margin:0;max-width:520px}.service-index{background:var(--ink);color:var(--paper);padding:0 max(7vw,28px)}.service-index a{align-items:baseline;border-top:1px solid var(--line);display:grid;gap:24px;grid-template-columns:50px 1fr minmax(170px,.7fr) 20px;padding:32px 0;transition:color .25s}.service-index a:last-child{border-bottom:1px solid var(--line)}.service-index a:hover{color:var(--clay)}.service-index span,.service-index i,.service-index b{font:500 9px/1.2 var(--mono);font-style:normal;letter-spacing:.06em;text-transform:uppercase}.service-index strong{font:400 clamp(2.8rem,5vw,5rem)/.8 var(--serif);letter-spacing:-.06em}.about{background:var(--paper);display:grid;gap:10%;grid-template-columns:.8fr 1fr;padding:clamp(100px,15vw,215px) max(7vw,28px)}.about-image{height:min(64vw,780px);margin:0;max-width:520px}.about-image img{object-position:center}.about-copy{align-self:center;max-width:590px}.about-copy .eyebrow{color:#7c746b}.about h2{font-size:clamp(4rem,7.5vw,8rem);margin-top:20px}.contact{background:var(--ink);color:var(--paper);min-height:92svh;padding:clamp(80px,10vw,140px) max(7vw,28px) 40px;display:flex;flex-direction:column;justify-content:space-between}.contact h2{font-size:clamp(5.2rem,11vw,12rem);margin:45px 0}.contact-bottom{align-items:end;display:flex;gap:30px;justify-content:space-between}.contact-bottom p{max-width:390px}.contact-link{border-bottom:1px solid var(--paper);font:500 11px/1.2 var(--mono);letter-spacing:.07em;padding-bottom:11px;text-transform:uppercase;white-space:nowrap}.site-footer{align-items:center;background:var(--ink);border-top:1px solid var(--line);color:#a9a29b;display:flex;font:500 9px/1.3 var(--mono);gap:20px;justify-content:space-between;letter-spacing:.06em;padding:19px max(7vw,28px);text-transform:uppercase}.site-footer a{color:var(--paper)}[data-reveal]{opacity:0;transform:translateY(22px);transition:opacity .7s ease,transform .7s ease}[data-reveal].is-visible{opacity:1;transform:none}@media(max-width:740px){.site-header{padding:20px 18px}.site-nav{background:#0a0a0a;display:flex;flex-direction:column;gap:0;inset:0;justify-content:center;opacity:0;padding:80px 24px;pointer-events:none;position:fixed;transition:opacity .25s}.site-nav.is-open{opacity:1;pointer-events:auto}.site-nav a{border-top:1px solid rgba(255,255,255,.3);font:400 3rem/.9 var(--serif);padding:18px 0;width:100%}.site-nav .nav-contact{border:0;border-top:1px solid rgba(255,255,255,.3);padding:18px 0}.menu-toggle{background:none;border:0;color:#fff;display:block;font:500 10px/1 var(--mono);letter-spacing:.07em;padding:0;position:relative;text-transform:uppercase;z-index:2}.menu-toggle span,.menu-toggle:after{background:currentColor;content:"";display:block;height:1px;margin-left:9px;position:absolute;right:0;top:50%;transform:translateY(-3px);width:16px}.menu-toggle:after{transform:translateY(3px)}.menu-toggle[aria-expanded="true"] span{transform:rotate(45deg)}.menu-toggle[aria-expanded="true"]:after{transform:rotate(-45deg)}.hero-photo{margin-left:0;width:100%}.hero-photo:after{background:linear-gradient(180deg,rgba(10,10,10,.2),rgba(10,10,10,.3) 35%,rgba(10,10,10,.85) 80%,#0a0a0a)}.hero-photo img{object-position:65% center}.hero-copy{align-self:end;padding:0 24px 110px}.hero h1{font-size:clamp(4.2rem,20vw,6.5rem)}.hero-index{bottom:29px;right:24px}.scroll-cue{bottom:30px;left:24px}.intro,.work,.editorial-note,.about{padding-left:24px;padding-right:24px}.intro-grid,.editorial-note,.about{display:block}.intro-body{margin-top:45px}.work-grid{grid-template-columns:1fr 1fr;gap:30px 15px}.work-item-feature{grid-column:1/3;grid-row:auto;margin:0 8vw 10vw 0}.work-item-feature img{aspect-ratio:.77}.work-item-tall,.work-item-wide,.work-item-small,.work-item-tall-two{grid-column:auto;grid-row:auto;margin:0}.work-item-wide{grid-column:1/3;margin-left:11vw}.work-item-tall-two{margin-top:22vw}.section-heading{padding-left:0}.section-heading h2{font-size:clamp(4rem,17vw,6rem)}.editorial-note>p{margin-top:40px}.service-index{padding-left:24px;padding-right:24px}.service-index a{grid-template-columns:27px 1fr 18px;gap:12px;padding:25px 0}.service-index i{display:none}.service-index strong{font-size:3rem}.about-image{height:116vw;margin:0 10vw 55px 0}.contact{min-height:780px;padding-left:24px;padding-right:24px}.contact h2{font-size:clamp(4.4rem,19vw,7rem);margin:20px 0}.contact-bottom{align-items:flex-start;display:block}.contact-link{display:inline-block;margin-top:15px}.site-footer{align-items:flex-start;display:grid;grid-template-columns:1fr 1fr;padding:20px 24px}.site-footer span:last-child{grid-column:1/3}.site-footer a{text-align:right}}
/* The photography sets the frame. Never crop a source image to fit the layout. */
.hero-photo{align-items:center;background:var(--ink);display:flex}
.hero-photo img{height:auto;object-fit:contain;width:100%}
.work-grid{align-items:start}
.work-item{overflow:visible}
.work-item img,.work-item-feature img,.work-item-tall img,.work-item-wide img,.work-item-small img,.work-item-tall-two img{aspect-ratio:auto;height:auto;object-fit:contain;transform:none!important}
.about-image{height:auto}
.about-image img{height:auto;object-fit:contain}
@media(max-width:740px){.hero-photo{align-items:center}.hero-photo img{height:auto;object-fit:contain}}

/* Let the lead photograph define the hero height instead of forcing it into a viewport crop. */
.hero{display:grid;grid-template-columns:34% 66%;min-height:0}
.hero-photo{align-self:start;display:block;grid-area:1/2;height:auto;margin-left:0;width:100%}
.hero-photo:after{display:none}
.hero-copy{grid-area:1/1;padding:clamp(115px,11vw,180px) 4vw 90px max(6vw,56px)}
.hero-index,.scroll-cue{bottom:24px}
@media(max-width:740px){.hero{display:block}.hero-photo{display:block;width:100%}.hero-copy{background:var(--ink);padding:54px 24px 132px;position:static}.hero-index{bottom:25px}.scroll-cue{bottom:27px}}

/* The banner is a complete frame: the dark field becomes intentional letterbox space. */
.hero-photo{aspect-ratio:3 / 2;overflow:hidden}
.hero-slides{height:100%;position:absolute;width:100%}
.hero-slide{background:var(--ink);height:100%;object-fit:contain;width:100%}

/* Each portfolio chapter gets a visual doorway before its label. */
.archive-nav{align-items:stretch;display:grid;grid-template-columns:repeat(7,minmax(0,1fr))}
.archive-nav a{align-content:space-between;display:grid;gap:12px;grid-template-rows:minmax(100px,10vw) auto;padding:12px}
.archive-nav a img{background:#d5cec5;height:clamp(100px,10vw,160px);object-fit:contain;width:100%}
.archive-nav a>span{align-items:center;display:flex;justify-content:space-between}
.archive-nav a>span b{font:inherit;font-weight:500}
@media(max-width:740px){.archive-nav a{grid-template-rows:32vw auto}.archive-nav a img{height:32vw}}

/* Full portfolio archive: natural photo ratios form the masonry, never a crop. */
.archive{background:#ddd7cf;padding:clamp(100px,14vw,190px) max(7vw,28px)}
.archive-header{align-items:end;display:grid;gap:56px;grid-template-columns:1.1fr .55fr;margin-bottom:clamp(60px,9vw,130px)}
.archive-header>div{grid-column:1;grid-row:1}.archive-header>p{grid-column:1;grid-row:2}.archive-hero-image{grid-column:2;grid-row:1 / span 2;margin:0;position:relative}.archive-hero-image img{height:auto;object-fit:contain}.archive-hero-image figcaption{color:#635c55}
.archive-header h2{font:400 clamp(4.2rem,8vw,9rem)/.72 var(--serif);letter-spacing:-.075em;margin:20px 0 0}
.archive-header>p{font-size:clamp(16px,1.35vw,20px);line-height:1.45;margin:0;max-width:390px}
.archive-nav{border-bottom:1px solid #8c857d;border-top:1px solid #8c857d;display:flex;gap:0;margin-bottom:clamp(78px,12vw,170px)}
.archive-nav a{align-items:center;border-right:1px solid #8c857d;display:flex;flex:1;font:500 10px/1.2 var(--mono);justify-content:space-between;letter-spacing:.06em;padding:16px 14px;text-transform:uppercase;transition:background .2s,color .2s}
.archive-nav a:first-child{border-left:1px solid #8c857d}.archive-nav a:hover{background:var(--ink);color:var(--paper)}
.archive-nav span{color:#746c64;font-size:9px}.archive-nav a:hover span{color:var(--clay)}
.archive-group{scroll-margin-top:80px}.archive-group+ .archive-group{border-top:1px solid #8c857d;margin-top:clamp(85px,12vw,180px);padding-top:clamp(44px,6vw,85px)}
.archive-group>header{align-items:baseline;display:flex;gap:clamp(35px,8vw,120px);margin-bottom:clamp(36px,5vw,70px)}
.archive-group h3{font-size:clamp(3.3rem,6vw,7rem);margin:0}.archive-group .eyebrow{color:#635c55;min-width:100px}
.pinboard{column-count:3;column-gap:clamp(12px,1.7vw,28px)}
.pin{break-inside:avoid;display:inline-block;margin:0 0 clamp(12px,1.7vw,28px);width:100%}
.pin img{display:block;height:auto;transition:filter .3s ease,transform .5s ease;width:100%}.pin:hover img{filter:brightness(1.04);transform:scale(1.012)}
@media(max-width:740px){.archive{padding-left:24px;padding-right:24px}.archive-header{display:block}.archive-header>p{margin-top:34px}.archive-nav{display:grid;grid-template-columns:1fr 1fr}.archive-nav a{border-bottom:1px solid #8c857d;padding:14px 11px}.archive-nav a:nth-child(2n+1){border-left:1px solid #8c857d}.archive-nav a:nth-last-child(-n+2){border-bottom:0}.archive-group>header{display:block}.archive-group h3{margin-top:15px}.pinboard{column-count:2;column-gap:12px}.pin{margin-bottom:12px}}

/* Investment: proposal-style package clarity in the portfolio's ink-and-paper palette. */
.pricing{background:#cfc7bd;padding:clamp(100px,14vw,185px) max(7vw,28px)}
.pricing-heading{align-items:end;display:grid;gap:10%;grid-template-columns:1fr .62fr;margin-bottom:clamp(68px,10vw,140px)}
.pricing-heading .eyebrow{color:#625b53}.pricing-heading h2{font:400 clamp(4rem,8vw,8.8rem)/.76 var(--serif);letter-spacing:-.07em;margin:22px 0 0}.pricing-heading h2 em{color:#79543f;font-weight:400}.pricing-heading>p{font-size:clamp(16px,1.35vw,20px);line-height:1.48;margin:0;max-width:410px}
.pricing-section-label{align-items:baseline;border-top:1px solid #837b72;display:grid;gap:22px;grid-template-columns:46px 1fr .7fr;padding:18px 0}.pricing-section-label span,.price-card-top{font:500 9px/1.3 var(--mono);letter-spacing:.08em;text-transform:uppercase}.pricing-section-label span{color:#79543f}.pricing-section-label h3{font:400 clamp(2.2rem,3.5vw,4rem)/.8 var(--serif);letter-spacing:-.055em;margin:0}.pricing-section-label p{color:#5d5650;font-size:14px;line-height:1.4;margin:0;max-width:290px}
.pricing-grid{display:grid;gap:15px;grid-template-columns:repeat(3,1fr);margin-top:15px}.price-card{background:var(--paper);display:flex;flex-direction:column;min-height:470px;padding:27px 25px 28px;transition:background .25s,transform .25s}.price-card:hover{background:#e5ddd1;transform:translateY(-6px)}.price-card-featured{background:var(--ink);color:var(--paper)}.price-card-featured:hover{background:var(--ink)}.price-card-top{color:#79543f;display:flex;gap:10px;justify-content:space-between}.price-card-featured .price-card-top{color:var(--clay)}.price-card h3{font:400 clamp(2.2rem,3.3vw,3.4rem)/.85 var(--serif);letter-spacing:-.06em;margin:33px 0 4px}.price-card-subtitle{color:#676059;font-size:14px;line-height:1.35;margin:0;min-height:38px}.price-card-featured .price-card-subtitle{color:#b9b1aa}.price-card-price{color:#79543f;font:400 clamp(3rem,4.7vw,5rem)/.8 var(--serif);letter-spacing:-.07em;margin:25px 0}.price-card-featured .price-card-price{color:var(--clay)}.price-card ul{border-top:1px solid #b9b0a5;font-size:12px;line-height:1.4;list-style:none;margin:0 0 20px;padding:0}.price-card li{border-bottom:1px solid #d1c8bd;padding:10px 0}.price-card li:before{color:#79543f;content:'+';margin-right:8px}.price-card-featured ul{border-color:#4a4744}.price-card-featured li{border-color:#393735;color:#c7bfb7}.price-card-featured li:before{color:var(--clay)}.price-card .text-link{font-size:9px;margin-top:auto;width:max-content}.price-card-featured .text-link{color:var(--paper)}
.pricing-notes{display:grid;gap:42px;grid-template-columns:1fr 1fr;margin:32px 0 clamp(80px,11vw,150px);padding-top:25px}.pricing-notes>div{border-left:2px solid #79543f;padding-left:16px}.pricing-notes strong{display:block;font:400 1.35rem var(--serif);margin-bottom:8px}.pricing-notes span,.pricing-footnote{color:#5d5650;font-size:12px;line-height:1.5}.pricing-commercial-label{border-color:#837b72}.price-card-commercial{background:#b9afa4;min-height:430px}.price-card-commercial:hover{background:#aaa095}.price-card-commercial .price-card-price{margin-bottom:24px}.pricing-footnote{border-top:1px solid #837b72;margin:32px 0 0;padding-top:22px;max-width:680px}
@media(max-width:740px){.pricing{padding-left:24px;padding-right:24px}.pricing-heading{display:block;margin-bottom:64px}.pricing-heading>p{margin-top:35px}.pricing-section-label{display:block;padding:16px 0 22px}.pricing-section-label h3{margin:12px 0}.pricing-section-label p{font-size:13px}.pricing-grid{gap:12px;grid-template-columns:1fr}.price-card{min-height:0;padding:26px 22px}.price-card-featured{order:-1}.pricing-notes{display:block;margin:26px 0 86px}.pricing-notes>div+div{margin-top:22px}.pricing-footnote{margin-top:24px}}

/* HoneyBook inquiry form, shared with SF Proposal but framed for fashion commissions. */
.contact{display:block;min-height:0;padding-bottom:clamp(90px,12vw,155px);padding-top:clamp(100px,13vw,175px)}
.contact-grid{display:grid;gap:10%;grid-template-columns:.78fr 1fr;align-items:start}.contact-copy h2{font-size:clamp(4.5rem,8vw,9rem);margin:24px 0 32px}.contact-copy>p{max-width:420px}.contact-form-note{color:#c8bdb3;font-size:13px!important;line-height:1.55;margin-top:25px!important}.contact-direct{border-top:1px solid rgba(243,240,232,.35);display:flex;flex-direction:column;gap:7px;margin-top:32px;max-width:420px;padding-top:16px}.contact-direct span,.contact-direct small{color:#aaa199;font:500 9px/1.45 var(--mono);letter-spacing:.07em;text-transform:uppercase}.contact-direct a{font:400 1.22rem var(--serif);width:max-content}.contact-direct a:hover{color:var(--clay)}.contact-direct small{margin-top:7px}.contact-embed{background:var(--paper);min-height:510px;padding:clamp(22px,3vw,42px)}.contact-embed>div{min-height:420px}.honeybook-pixel{height:1px!important;position:absolute;width:1px!important}
@media(max-width:740px){.contact{padding-bottom:90px;padding-top:95px}.contact-grid{display:block}.contact-copy h2{font-size:clamp(4.4rem,19vw,7rem);margin:20px 0 28px}.contact-embed{margin-top:55px;min-height:450px;padding:18px}.contact-embed>div{min-height:390px}}

/* Keep the homepage editorial; let pricing make its own, direct decision page. */
.investment-teaser{align-items:end;background:var(--paper);display:grid;gap:12%;grid-template-columns:1fr .66fr;padding:clamp(100px,14vw,185px) max(7vw,28px)}
.investment-teaser h2{font:400 clamp(4rem,8vw,8.8rem)/.76 var(--serif);letter-spacing:-.07em;margin:22px 0 0}.investment-teaser h2 em{color:#79543f;font-weight:400}.investment-teaser-copy{border-top:1px solid #aca49b;padding-top:20px}.investment-teaser-copy>p:not(.investment-teaser-price){font-size:clamp(16px,1.35vw,20px);line-height:1.48;margin:0;max-width:410px}.investment-teaser-price{color:#716961;font:500 9px/1.35 var(--mono);letter-spacing:.08em;margin:0 0 20px;text-transform:uppercase}.investment-teaser-price strong{color:#79543f;font:400 clamp(2.3rem,3.8vw,4rem)/.8 var(--serif);letter-spacing:-.06em;margin-left:12px;text-transform:none}.investment-teaser .text-link{margin-top:34px}
.pricing-page{min-height:100svh;padding-top:clamp(155px,17vw,235px)}.pricing-page-body .site-header{color:var(--ink)}.pricing-page-body .site-nav a[aria-current="page"]{border-bottom:1px solid currentColor;padding-bottom:4px}.pricing-page .pricing-heading h1{font:400 clamp(4rem,8vw,8.8rem)/.76 var(--serif);letter-spacing:-.07em;margin:22px 0 0}.pricing-page .pricing-heading h1 em{color:#79543f;font-weight:400}.pricing-page .pricing-section-label h2{font:400 clamp(2.2rem,3.5vw,4rem)/.8 var(--serif);letter-spacing:-.055em;margin:0}
.floating-contact-cta{align-items:center;background:var(--clay);bottom:24px;box-shadow:0 10px 28px rgba(10,10,10,.22);color:var(--ink);display:inline-flex;font:500 10px/1 var(--mono);gap:14px;letter-spacing:.07em;padding:15px 18px;position:fixed;right:24px;text-transform:uppercase;transition:transform .25s,background .25s,color .25s;z-index:90}.floating-contact-cta:hover{background:var(--paper);color:var(--ink);transform:translateY(-3px)}.floating-contact-cta span{font-size:1rem;line-height:1}
@media(max-width:740px){.investment-teaser{display:block;padding-left:24px;padding-right:24px}.investment-teaser-copy{margin-top:48px}.investment-teaser-price strong{display:block;margin:13px 0 0}.pricing-page{padding-top:132px}.floating-contact-cta{bottom:16px;font-size:9px;gap:10px;padding:13px 14px;right:16px}}

/* A deliberate Apple-adjacent grotesk: crisp Helvetica Neue, not a generic UI stack. */
:root{--sans:"Helvetica Neue",Helvetica,Arial,sans-serif}
body{letter-spacing:-.012em}

/* Final navigation and framing pass. */
@media(min-width:741px){.hero{min-height:0}.site-header{mix-blend-mode:difference}}
.site-nav.is-open{color:var(--paper);mix-blend-mode:normal}.site-nav.is-open a{color:var(--paper)}
.archive-nav{background:#ddd7cf;position:sticky;top:0;z-index:8}
.contact-package{border-left:2px solid var(--clay);color:var(--clay);font:500 10px/1.4 var(--mono)!important;letter-spacing:.06em;margin:22px 0 0!important;padding-left:12px;text-transform:uppercase}
@media(max-width:740px){.site-header{mix-blend-mode:normal}.pricing-page-body .site-header{color:var(--ink)}.site-nav{z-index:100}.site-nav.is-open{background:var(--ink)}.site-nav.is-open a{color:var(--paper)}.menu-toggle{z-index:102}.wordmark{position:relative;z-index:102}.nav-open .wordmark{color:var(--paper)}.nav-open .floating-contact-cta{opacity:0;pointer-events:none}.archive-nav{top:0}}

/* Keep the three animal-print frames together before Jessica's vintage set. */
#fashion-editorial .pinboard{column-count:initial;display:grid;gap:clamp(12px,1.7vw,28px);grid-template-columns:repeat(3,minmax(0,1fr))}
#fashion-editorial .pin{display:block;margin:0}
@media(max-width:740px){#fashion-editorial .pinboard{gap:12px;grid-template-columns:repeat(2,minmax(0,1fr))}}

/* Model digitals read as a set: keep the three frames on one desktop row. */
#digitals .pinboard{column-count:initial;display:grid;gap:clamp(12px,1.7vw,28px);grid-template-columns:repeat(3,minmax(0,1fr))}
#digitals .pin{display:block;margin:0}
@media(max-width:740px){#digitals .pinboard{gap:12px;grid-template-columns:repeat(2,minmax(0,1fr))}}

/* Interactive image study: a tactile, keyboard-accessible lightbox for the archive. */
.hero-photo img{transform:translate3d(var(--pointer-x,0),var(--pointer-y,0),0) scale(1.015);transition:transform .7s cubic-bezier(.2,.7,.2,1)}
.work-item,.pin{cursor:zoom-in;outline:none;position:relative}
.work-item:focus-visible,.pin:focus-visible{outline:2px solid var(--clay);outline-offset:7px}
.work-item:after,.pin:after{background:rgba(10,10,10,.72);color:var(--paper);content:'Open image  ↗';font:500 9px/1 var(--mono);letter-spacing:.08em;opacity:0;padding:10px 12px;pointer-events:none;position:absolute;right:12px;text-transform:uppercase;top:12px;transform:translateY(-5px);transition:opacity .25s,transform .25s}
.work-item:hover:after,.work-item:focus-visible:after,.pin:hover:after,.pin:focus-visible:after{opacity:1;transform:none}
.image-lightbox{background:rgba(10,10,10,.97);border:0;color:var(--paper);height:100%;margin:0;max-height:none;max-width:none;padding:0;width:100%}
.image-lightbox::backdrop{background:#0a0a0a}
.image-lightbox-inner{align-items:center;display:grid;grid-template-columns:minmax(42px,8vw) minmax(0,1fr) minmax(42px,8vw);height:100%;padding:clamp(20px,4vw,60px)}
.image-lightbox figure{align-items:center;display:flex;flex-direction:column;height:100%;justify-content:center;margin:0;min-width:0}
.image-lightbox figure img{height:calc(100% - 55px);max-height:calc(100svh - 110px);object-fit:contain;width:100%}
.image-lightbox figcaption{color:#c7bfb7;gap:18px;padding-top:18px;width:100%}
.image-lightbox-count{color:var(--clay)}
.image-lightbox button{background:none;border:0;color:var(--paper);cursor:pointer;font:500 10px/1 var(--mono);letter-spacing:.08em;text-transform:uppercase}
.image-lightbox button:hover{color:var(--clay)}
.image-lightbox-close{position:absolute;right:clamp(20px,4vw,60px);top:clamp(20px,4vw,42px)}
.image-lightbox-close span{font:400 22px/0 var(--sans);margin-left:8px;vertical-align:-2px}
.image-lightbox-prev,.image-lightbox-next{font-size:22px!important;padding:22px 8px}
.image-lightbox-prev{text-align:left}.image-lightbox-next{text-align:right}
@media(max-width:740px){.work-item:after,.pin:after{display:none}.image-lightbox-inner{grid-template-columns:34px minmax(0,1fr) 34px;padding:70px 10px 20px}.image-lightbox figure img{height:calc(100% - 48px);max-height:calc(100svh - 120px)}.image-lightbox figcaption{font-size:8px;padding-top:12px}.image-lightbox-prev,.image-lightbox-next{font-size:18px!important;padding:16px 2px}.image-lightbox-close{right:18px;top:25px}}
@media(prefers-reduced-motion:reduce){.hero-photo img{transform:none;transition:none}.work-item:after,.pin:after{transition:none}}

/* Keep the two high-intent paths visible so visitors never have to hunt for pricing. */
.site-header{position:fixed}
.site-header.is-scrolled{background:rgba(243,240,232,.94);box-shadow:0 1px 0 rgba(10,10,10,.08);color:var(--ink);mix-blend-mode:normal;transition:background .25s,color .25s}
.site-header.is-scrolled .site-nav .nav-contact{border-color:currentColor}
.archive-nav{top:70px}
.floating-actions{align-items:center;bottom:24px;display:flex;gap:10px;position:fixed;right:24px;z-index:90}
.floating-actions .floating-contact-cta{bottom:auto;position:relative;right:auto}
.floating-pricing-cta{align-items:center;background:var(--ink);border:1px solid rgba(243,240,232,.35);color:var(--paper);display:inline-flex;font:500 10px/1 var(--mono);gap:10px;letter-spacing:.07em;padding:15px 16px;text-transform:uppercase;transition:background .25s,color .25s,transform .25s}
.floating-pricing-cta:hover{background:var(--paper);color:var(--ink);transform:translateY(-3px)}
.floating-pricing-cta span{font-size:1rem;line-height:1}
@media(max-width:740px){.archive-nav{top:58px}.floating-actions{bottom:16px;gap:7px;right:16px}.floating-pricing-cta{font-size:9px;padding:13px 12px}.floating-actions .floating-contact-cta{font-size:9px;padding:13px 14px}.nav-open .floating-actions{opacity:0;pointer-events:none}}

/* Chapter strip: make every card unmistakably clickable and keep long labels from colliding. */
.archive-nav-intro{align-items:center;color:#635c55;display:flex;font:500 10px/1.25 var(--mono);justify-content:space-between;letter-spacing:.07em;margin-bottom:12px;text-transform:uppercase}
.archive-nav-intro span:last-child{color:#8a8178}
.archive-nav{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));overflow:hidden}
.archive-nav a{align-content:space-between;display:grid;gap:14px;grid-template-rows:clamp(150px,16vw,240px) minmax(30px,auto);min-width:0;padding:14px;transition:background .2s,color .2s,transform .2s}
.archive-nav a img{height:100%;min-width:0;object-fit:contain;width:100%}
.archive-nav a>span{align-items:flex-start;display:flex;font-size:9px;gap:8px;justify-content:space-between;line-height:1.25;min-width:0}
.archive-nav a>span:first-letter{text-transform:uppercase}
.archive-nav a>span b{flex:0 0 auto;font:inherit}
.archive-nav a:hover,.archive-nav a:focus-visible{background:var(--ink);color:var(--paper);outline:none;transform:translateY(-2px)}
@media(max-width:740px){.archive-nav-intro{align-items:flex-start;display:block;line-height:1.5;margin-bottom:12px}.archive-nav-intro span{display:block}.archive-nav-intro span:last-child{margin-top:3px}.archive-nav{grid-template-columns:1fr 1fr}.archive-nav a{grid-template-rows:32vw minmax(30px,auto);padding:11px}.archive-nav a>span{font-size:9px}}

/* The service list is a destination list, not a second chapter index. */
.service-index{padding-top:24px}
.service-index-label{color:#a7a198;font:500 10px/1.2 var(--mono);letter-spacing:.08em;margin:0;padding:0 0 18px;text-transform:uppercase}
.service-index a{grid-template-columns:1fr minmax(170px,.7fr) 20px}
@media(max-width:740px){.service-index a{grid-template-columns:1fr 18px}}

/* Cover slideshow: cinematic, quiet, and always user-controllable. */
.hero-slides{inset:0;position:absolute}
.hero-slide{inset:0;opacity:0;position:absolute;transition:opacity 1.1s ease}
.hero-slide.is-active{opacity:1}
.hero-slide-controls{align-items:center;bottom:25px;display:flex;gap:13px;position:absolute;right:29px;z-index:2}
.hero-slide-controls button{background:transparent;border:0;color:#fff;cursor:pointer;font:500 14px/1 var(--mono);padding:8px 2px}
.hero-slide-controls button:hover{color:var(--clay)}
.hero-slide-count{color:#d8d0c8;font:400 9px/1 var(--mono);letter-spacing:.08em}
@media(max-width:740px){.hero-slide-controls{bottom:25px;right:24px}.hero-slide-controls button{font-size:13px}}
@media(prefers-reduced-motion:reduce){.hero-slide{transition:none}}

/* SEO category pages keep the gallery immersive while giving each service a clear URL. */
.category-page{background:var(--paper)}
.category-page .site-header{color:var(--ink);mix-blend-mode:normal}
.category-page .site-header.is-scrolled{background:rgba(243,240,232,.94)}
.category-hero{padding:clamp(150px,19vw,250px) max(7vw,28px) clamp(85px,11vw,150px)}
.category-hero .eyebrow{color:#79543f}
.category-hero h1{font:400 clamp(4rem,9vw,10rem)/.75 var(--serif);letter-spacing:-.075em;margin:24px 0 30px;max-width:900px}
.category-hero h1 em{color:var(--clay);font-weight:400}
.category-hero>p:last-child{font-size:clamp(17px,1.5vw,22px);line-height:1.45;margin:0;max-width:530px}
.category-gallery{column-count:3;column-gap:clamp(14px,2vw,30px);padding:0 max(7vw,28px) clamp(110px,15vw,200px)}
.category-gallery .pin{break-inside:avoid;margin:0 0 clamp(14px,2vw,30px)}
.category-gallery .pin img{height:auto;object-fit:contain}
.category-gallery-three{column-count:3}
.category-next{background:var(--ink);color:var(--paper);padding:clamp(85px,11vw,150px) max(7vw,28px)}
.category-next .eyebrow{color:var(--clay)}
.category-next a{border-bottom:1px solid rgba(243,240,232,.45);display:inline-block;font:400 clamp(3rem,7vw,7rem)/.86 var(--serif);letter-spacing:-.06em;margin-top:25px;padding-bottom:10px}
.category-next a span{color:var(--clay);font:500 16px/1 var(--mono);letter-spacing:0;margin-left:18px;vertical-align:middle}
.archive-index .archive-group{display:none}
.seo-support-copy{color:#5d5650;font-size:15px!important;line-height:1.55!important}
.testimonials{background:#d8d1c8;display:grid;gap:10%;grid-template-columns:.8fr 1fr;padding:clamp(100px,13vw,185px) max(7vw,28px)}.testimonials h2{font:400 clamp(4rem,7.5vw,8rem)/.76 var(--serif);letter-spacing:-.07em;margin:22px 0}.testimonials h2 em{color:#79543f;font-weight:400}.testimonial-list{border-top:1px solid #8c857d}.testimonial-list blockquote{border-bottom:1px solid #8c857d;font:400 clamp(1.5rem,2.5vw,2.6rem)/1.05 var(--serif);margin:0;padding:24px 0}.testimonial-list cite{display:block;font:500 9px/1.3 var(--mono);letter-spacing:.08em;margin-top:18px;text-transform:uppercase}
.inquiry-form{display:grid;gap:14px;grid-template-columns:1fr 1fr}.inquiry-form label{color:#6c645d;display:flex;flex-direction:column;font:500 9px/1.3 var(--mono);gap:7px;letter-spacing:.08em;text-transform:uppercase}.inquiry-form input,.inquiry-form select,.inquiry-form textarea{background:transparent;border:0;border-bottom:1px solid #aaa198;border-radius:0;color:var(--ink);font:400 16px/1.3 var(--sans);padding:9px 0;width:100%}.inquiry-form textarea{resize:vertical}.inquiry-form label:nth-last-of-type(1),.inquiry-form button,.form-success{grid-column:1/-1}.inquiry-form button{background:var(--ink);border:0;color:var(--paper);cursor:pointer;font:500 10px/1 var(--mono);letter-spacing:.08em;padding:16px;text-align:left;text-transform:uppercase}.inquiry-form button span{float:right;font-size:1.3em}.hidden-field{display:none}.form-success{color:#79543f;font:500 11px/1.4 var(--mono);letter-spacing:.04em;margin:0}.faq-section{background:#d8d1c8;padding:clamp(100px,13vw,185px) max(7vw,28px)}.faq-section h2{font:400 clamp(4rem,8vw,8rem)/.76 var(--serif);letter-spacing:-.07em;margin:22px 0 55px}.faq-section h2 em{color:#79543f;font-weight:400}.faq-list{border-top:1px solid #8c857d;max-width:850px}.faq-list details{border-bottom:1px solid #8c857d;padding:21px 0}.faq-list summary{cursor:pointer;font:400 clamp(1.4rem,2.4vw,2.4rem)/1 var(--serif);list-style:none}.faq-list summary::-webkit-details-marker{display:none}.faq-list summary:after{content:'+';float:right;font:500 16px/1 var(--mono)}.faq-list details[open] summary:after{content:'−'}.faq-list p{font-size:15px;line-height:1.55;margin:18px 0 2px;max-width:650px}.pricing-inquiry{background:var(--paper);margin-top:55px;max-width:900px;padding:clamp(22px,3vw,42px)}
@media(max-width:740px){.inquiry-form{display:block}.inquiry-form label{margin-bottom:16px}.inquiry-form button{margin-top:4px}.faq-section h2{font-size:clamp(4rem,17vw,6rem)}}
@media(max-width:740px){.testimonials{display:block}.testimonial-list{margin-top:48px}}
.archive-index-note{border-top:1px solid #8c857d;color:#625b53;font-size:clamp(16px,1.5vw,22px);line-height:1.45;margin:clamp(38px,6vw,80px) max(7vw,28px) 0;max-width:570px;padding-top:20px}
@media(max-width:740px){.category-hero{padding:130px 24px 75px}.category-hero h1{font-size:clamp(4.1rem,18vw,6rem);margin-top:20px}.category-gallery,.category-gallery-three{column-count:2;column-gap:12px;padding-left:24px;padding-right:24px}.category-gallery .pin{margin-bottom:12px}.category-next{padding-left:24px;padding-right:24px}.category-next a{font-size:clamp(2.6rem,12vw,4rem)}}
/* Service landing heroes: preserve the full frame while giving every micro page a clear visual entry point. */
.category-hero{display:grid;grid-template-columns:minmax(0,.82fr) minmax(0,1.18fr);gap:clamp(42px,7vw,96px);align-items:end}
.category-hero-copy{grid-column:1;grid-row:1;align-self:end}
.category-hero-copy>p:last-child{font-size:clamp(17px,1.5vw,22px);line-height:1.45;margin:0;max-width:530px}
.category-hero-media{grid-column:2;grid-row:1;margin:0;position:relative}
.category-hero-media picture{display:block;background:var(--ink)}
.category-hero-media img{display:block;width:100%;height:auto;max-height:720px;object-fit:contain}
.category-hero-media figcaption{display:flex;justify-content:space-between;gap:20px;padding-top:14px;color:var(--muted);font:500 11px/1.2 var(--mono);letter-spacing:.08em;text-transform:uppercase}
.category-answer{padding:clamp(62px,8vw,110px) max(7vw,28px);background:var(--ink);color:var(--paper)}
.category-answer p{max-width:900px;margin:0;font-size:clamp(18px,2vw,28px);line-height:1.38}
.category-answer-detail{font-size:15px!important;line-height:1.6!important;margin-top:28px!important;max-width:760px!important;color:#c8bdb3}
.category-answer-detail a{border-bottom:1px solid currentColor;color:var(--clay);display:inline-block;margin-left:6px;padding-bottom:3px}
.category-answer-detail a span{font:500 11px/1 var(--mono);margin-left:5px}
@media(max-width:740px){.category-hero{display:block}.category-hero-media{margin-top:48px}.category-hero-media img{max-height:none}.category-hero-media figcaption{font-size:10px}.category-answer{padding:58px max(7vw,28px)}}

/* Never upscale a low-resolution source into a full-bleed microsite hero. */
.category-hero-media picture{display:flex;justify-content:flex-end}
.category-hero-media img{height:auto;max-width:100%;width:auto}
@media(max-width:740px){.category-hero-media picture{justify-content:center}.category-hero-media img{max-width:100%}}
/* Instagram profile link */
.site-footer .social-link{align-items:center;display:inline-flex;gap:8px}.social-icon{fill:none;height:16px;stroke:currentColor;stroke-width:1.7;width:16px}.social-icon circle:last-child{fill:currentColor;stroke:none}.site-footer .social-link span:last-child{font-size:1.15em;margin-left:2px}
