/* Type system. Cormorant Garamond for display only (h1, h2, pull quotes, all 28px+); Inter for everything else. Scale: 12 caps / 14 small / 16 body / 17 long-form / 19 lead / 21 title / 28 + 32 quotes / h2 / h1. Use these tokens; don't add one-off sizes. */
:root{--sj-dark:#171715;--sj-ivory:#f7f4ee;--sj-ink:#1b1b18;--sj-ink-2:#57534c;--sj-gold:#d5ac60;--sj-muted:#d0ccc3;--sj-line:#d8d1c5;--sj-display:'Cormorant Garamond',Georgia,serif;--sj-text:Inter,system-ui,sans-serif;--fs-caps:12px;--fs-small:14px;--fs-body:16px;--fs-read:17px;--fs-lead:19px;--fs-title:21px;--fs-quote:28px;--fs-quote-lg:32px;--fs-h2:clamp(40px,4.2vw,56px);--fs-h1:clamp(58px,6.2vw,88px)}
html{scroll-padding-top:100px}body.sj-redesign{background:var(--sj-ivory);color:var(--sj-ink);font:400 var(--fs-body)/1.6 var(--sj-text);overflow-x:visible}.sj-redesign *{box-sizing:border-box}.sj-redesign a{text-underline-offset:5px}.sj-redesign h1,.sj-redesign h2{font-family:var(--sj-display);font-weight:500;text-wrap:balance}.sj-redesign h1{font-size:var(--fs-h1);line-height:1.02;letter-spacing:-.02em}.sj-redesign h2{font-size:var(--fs-h2);line-height:1.08;letter-spacing:-.015em}.sj-redesign h3{font:600 var(--fs-title)/1.3 var(--sj-text);letter-spacing:-.012em;text-wrap:balance}.sj-redesign p{text-wrap:pretty}.sj-wrap{width:calc(100% - 80px);max-width:1240px;margin-inline:auto}.sj-header{position:sticky;top:0;z-index:50;background:var(--sj-dark);color:var(--sj-ivory);border-bottom:1px solid #49473f;backdrop-filter:none}.sj-nav{display:flex;align-items:center;justify-content:space-between;min-height:82px;gap:28px}.sj-wordmark{font-family:'Josefin Sans',sans-serif;font-size:20px;letter-spacing:.37em;color:var(--sj-gold);white-space:nowrap}.sj-nav nav{display:flex;align-items:center;gap:28px;font-size:var(--fs-small);font-weight:500}.sj-nav nav>a:not(.sj-button):hover,.sj-footer a:hover{text-decoration:underline}.sj-button{display:inline-flex;align-items:center;justify-content:center;min-height:50px;background:var(--sj-gold);color:#171715!important;border:1px solid var(--sj-gold);border-radius:3px;padding:12px 22px;font:600 var(--fs-body)/1.35 var(--sj-text);text-align:center;text-decoration:none;cursor:pointer;transition:background .15s}.sj-button:hover{background:#e5c481;border-color:#e5c481}.sj-button:disabled{opacity:.7;cursor:wait}.sj-nav .sj-button{font-size:13px;padding:12px 16px;min-height:44px}.sj-menu-toggle{display:none}.sj-hero{background:var(--sj-dark);color:var(--sj-ivory)}.sj-hero-grid{display:grid;grid-template-columns:56% 44%;align-items:stretch;position:relative}.sj-hero-copy{padding:42px 36px 38px 0;position:relative;z-index:1}.sj-eyebrow{font:600 var(--fs-caps)/1.4 var(--sj-text);letter-spacing:.16em;color:var(--sj-gold);margin:0 0 16px}.sj-hero h1{margin:0 0 17px}.sj-intro{font-size:var(--fs-lead);line-height:1.5;max-width:580px}.sj-hero .sj-intro{color:var(--sj-muted);margin-bottom:23px;max-width:530px}.sj-offer{font-size:var(--fs-body);max-width:560px;line-height:1.55;margin:0 0 16px}.sj-fields{display:grid;grid-template-columns:1fr 1fr;gap:16px}.sj-inquiry label{display:block;font-size:var(--fs-small);font-weight:500;margin-bottom:7px;line-height:1.5}.sj-inquiry label span{font-weight:400;color:var(--sj-muted)}.sj-inquiry input:not([type=hidden]),.sj-inquiry textarea{width:100%;border:1px solid #77746c;border-radius:3px;color:var(--sj-ivory);background:#242421;font:400 var(--fs-body)/1.5 var(--sj-text);min-height:50px;padding:12px 13px;margin:0;box-shadow:none}.sj-inquiry input::placeholder,.sj-inquiry textarea::placeholder{color:#bfbab0;opacity:1}.sj-inquiry textarea{resize:vertical;margin-bottom:17px}.sj-inquiry .sj-button{width:100%;margin-top:12px}.sj-helper{font-size:var(--fs-small);line-height:1.55;color:var(--sj-muted);margin:10px 0 0}.sj-reassurance{font-size:var(--fs-small);color:var(--sj-muted);margin:12px 0 10px}.sj-secondary{font-size:var(--fs-small);text-decoration:underline}.sj-carlotta{margin:25px 0 0;padding:0 0 0 16px;border-left:1px solid #a5864d;max-width:550px}.sj-carlotta p{font:500 var(--fs-quote)/1.25 var(--sj-display);letter-spacing:-.005em}.sj-redesign cite{display:block;font:400 var(--fs-small)/1.5 var(--sj-text);letter-spacing:0;margin-top:12px;color:var(--sj-muted)}.sj-portrait{position:relative;align-self:stretch;margin:0;min-width:0;overflow:hidden}.sj-portrait img{position:absolute;bottom:0;left:50%;transform:translateX(-50%);width:auto;height:100%;max-width:none;object-fit:contain;object-position:bottom;filter:grayscale(1)}.sj-portrait figcaption{position:absolute;bottom:31px;left:36%;font-size:var(--fs-small);line-height:1.5;text-shadow:0 1px 8px #000}.sj-portrait figcaption span{display:block;font-size:var(--fs-small);color:var(--sj-muted);white-space:nowrap}.sj-work{padding:75px 0 0}.sj-work .sj-eyebrow{color:#76521b}.sj-work h2{margin-bottom:35px}.sj-desktop-break{display:none}.sj-projects{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:48px 26px}.sj-project{display:flex;flex-direction:column;min-width:0}.sj-project img{width:100%;height:auto;display:block;border-radius:3px;border:1px solid #d8d1c5;aspect-ratio:1600/844;object-fit:contain;background:#e3dfd7}.sj-project h3{margin:20px 0 6px}.sj-project p{font-size:var(--fs-small);line-height:1.6;color:var(--sj-ink-2);margin-bottom:13px}.sj-project .sj-project-summary{font-size:var(--fs-body);line-height:1.5;font-weight:500;color:var(--sj-ink);margin-bottom:10px}.sj-project .sj-project-detail{margin-bottom:18px}.sj-project-link{font-size:var(--fs-small);font-weight:500;color:#76521b;text-decoration:underline;align-self:flex-start;margin-top:auto}.sj-ali{text-align:center;max-width:940px;margin:64px auto 0;padding:40px 35px;border-top:1px solid var(--sj-line);border-bottom:1px solid var(--sj-line)}.sj-ali p{font:500 var(--fs-quote-lg)/1.22 var(--sj-display);letter-spacing:-.01em}.sj-ali em{font-style:normal;color:#76521b}.sj-ali cite{color:var(--sj-ink-2)}.sj-help{padding:70px 0 80px}.sj-help h2{margin-bottom:35px}.sj-help-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:35px}.sj-help-grid article+article{border-left:1px solid var(--sj-line);padding-left:30px}.sj-number{color:#76521b;font:600 var(--fs-caps)/1.4 var(--sj-text);letter-spacing:.16em;display:block;margin-bottom:15px}.sj-help h3{margin-bottom:10px}.sj-help p{line-height:1.6;color:var(--sj-ink-2);max-width:335px}.sj-contact{padding:70px 0;background:var(--sj-dark);color:var(--sj-ivory)}.sj-contact-grid{display:grid;grid-template-columns:1.08fr 1fr;gap:80px}.sj-contact h2{max-width:560px;margin-bottom:21px}.sj-contact .sj-intro{margin-bottom:14px}.sj-contact-grid>div>p:not(.sj-eyebrow){color:var(--sj-muted)}.sj-contact-form{padding-top:8px}.sj-contact .sj-fields{grid-template-columns:1fr;margin-bottom:18px}.sj-margaret{margin-top:31px;max-width:500px}.sj-margaret p{font:500 var(--fs-quote)/1.25 var(--sj-display);letter-spacing:-.005em}.sj-direct{font-size:var(--fs-small);margin-top:16px;color:var(--sj-muted);overflow-wrap:anywhere}.sj-direct a{text-decoration:underline;color:var(--sj-ivory)}.sj-footer{background:var(--sj-dark);color:var(--sj-muted);padding:31px 0;border-top:1px solid #49473f;font-size:var(--fs-small)}.sj-footer-inner{display:flex;justify-content:space-between;align-items:center;gap:30px}.sj-footer-inner>div{text-align:right}.sj-footer nav{display:flex;gap:19px;margin:9px 0}.sj-footer p{font-size:var(--fs-caps)}.sj-footer-inner>div>a{text-decoration:underline}.sj-status:empty,.sj-email-error:empty{display:none}.sj-status{font-size:var(--fs-small);line-height:1.6;margin:16px 0 0;padding:13px;border:1px solid #8caa81;border-radius:3px}.sj-status.is-error{border-color:#e4ad9a}.sj-email-error{display:block;font-size:var(--fs-small);line-height:1.5;color:#ffd2c1;margin-top:6px}.sj-inquiry [aria-invalid=true]{border-color:#ffd2c1!important}.sj-honey{position:absolute!important;width:1px;height:1px;overflow:hidden;clip-path:inset(50%)}.sj-sr{position:absolute;width:1px;height:1px;padding:0;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap}.sj-skip{position:fixed;top:-100px;left:20px;z-index:100;background:var(--sj-gold);color:#171715;padding:12px}.sj-skip:focus{top:12px}.sj-redesign :focus-visible{outline:3px solid #b18333;outline-offset:4px}.sj-hero :focus-visible,.sj-header :focus-visible,.sj-contact :focus-visible,.sj-footer :focus-visible,.sj-review-page :focus-visible{outline-color:#f2d69f}.sj-sticky[hidden]{display:none}.sj-sticky{display:none}.sj-review-page{background:var(--sj-dark);color:var(--sj-ivory);padding:65px 0 80px}.sj-review-inner{max-width:760px}.sj-review-page h1{font-size:clamp(48px,5.7vw,76px);margin-bottom:25px}.sj-review-page .sj-intro{margin-bottom:28px}.sj-review-page h2{font-size:clamp(36px,3.4vw,44px);margin-top:60px;margin-bottom:18px}.sj-faq{margin-top:40px}.sj-faq h3{margin:27px 0 8px}.sj-review-page p:not(.sj-eyebrow){color:var(--sj-muted)}.sj-redesign .page-content{background:var(--sj-ivory);color:var(--sj-ink);padding-bottom:70px}.sj-redesign .page-content-inner{max-width:900px}.sj-redesign .page-body{color:var(--sj-ink);font-size:var(--fs-read)}.sj-redesign .page-body h2,.sj-redesign .page-body h3{color:var(--sj-ink);margin-top:35px}.sj-redesign .page-body p{color:#46433d;margin:18px 0}.sj-redesign .page-body :where(p){font-size:var(--fs-read);line-height:1.75}.sj-redesign .page-body p strong{color:#76521b}.sj-redesign .page-body a{color:#76521b;text-decoration:underline}.sj-redesign .page-body .btn{color:#171715;background:var(--sj-gold)}.sj-redesign .page-body img{max-width:100%;height:auto}.sj-redesign .page-content .eyebrow{color:#76521b;font:600 var(--fs-caps)/1.4 var(--sj-text);letter-spacing:.16em;text-transform:uppercase}.sj-redesign .page-content .lead{color:var(--sj-ink-2);font-size:var(--fs-lead);line-height:1.6}.sj-redesign .page-content .actions .btn-outline,.sj-redesign .page-content .actions .btn-outline:hover{color:#76521b;border-color:#a5864d}.sj-redesign .page-content .section-header h1{font-size:64px}.sj-page-invitation{border-top:1px solid var(--sj-line);margin-top:45px;padding-top:15px}
@media(min-width:1440px){.sj-hero-copy{padding-top:44px;padding-bottom:40px}.sj-hero-grid{min-height:710px}}
@media(max-width:1100px){.sj-nav{gap:15px}.sj-nav nav{gap:17px}.sj-wordmark{font-size:17px;letter-spacing:.28em}.sj-contact-grid{gap:40px}.sj-hero-copy{padding-right:22px}.sj-portrait figcaption{left:17%}.sj-hero .sj-fields{gap:12px}}
@media(min-width:768px) and (max-width:1024px){.sj-projects{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:900px){.sj-menu-toggle{display:block;background:transparent;color:var(--sj-ivory);border:1px solid #77746c;border-radius:3px;min-height:44px;padding:8px 13px;font:500 var(--fs-small) var(--sj-text)}.sj-nav nav{display:none;position:absolute;top:100%;left:0;right:0;background:var(--sj-dark);padding:20px 40px 25px;border-bottom:1px solid #77746c;align-items:stretch;gap:0}.sj-nav nav.is-open{display:flex;flex-direction:column}.sj-nav nav>a{padding:14px 0;font-size:var(--fs-body)}.sj-nav nav>.sj-button{margin-top:15px;padding:14px}.sj-nav{min-height:73px}.sj-hero-grid{grid-template-columns:60% 40%}.sj-hero .sj-fields{grid-template-columns:1fr}.sj-portrait img{height:78%}.sj-portrait figcaption{left:8%}.sj-portrait figcaption span{white-space:normal}.sj-projects{column-gap:26px}.sj-help-grid{gap:23px}.sj-help-grid article+article{padding-left:20px}}
@media(max-width:767px){:root{--fs-lead:18px;--fs-title:20px;--fs-quote:26px;--fs-quote-lg:30px;--fs-h2:40px}html{scroll-padding-top:91px}.sj-wrap{width:calc(100% - 40px)}.sj-wordmark{font-size:17px;letter-spacing:.28em}.sj-nav nav{padding-inline:20px}.sj-hero-grid{display:flex;flex-direction:column}.sj-hero-copy{padding:35px 0 0}.sj-hero .sj-fields{grid-template-columns:1fr}.sj-fields{gap:15px}.sj-carlotta{margin-top:26px}.sj-portrait{height:310px;width:100%;margin-top:18px}.sj-portrait img{height:100%;max-width:100%;width:auto;object-fit:contain}.sj-portrait figcaption{left:auto;right:0;bottom:19px;max-width:165px;padding:5px;background:#171715d9}.sj-work{padding-top:45px}.sj-work h2{margin-bottom:27px}.sj-projects{grid-template-columns:1fr;gap:35px}.sj-project p{min-height:0;margin-bottom:10px}.sj-project img{width:100%}.sj-ali{margin-top:40px;padding:30px 0}.sj-help{padding:43px 0 48px}.sj-help h2{margin-bottom:30px}.sj-help-grid{grid-template-columns:1fr;gap:25px}.sj-help-grid article+article{border-left:0;border-top:1px solid var(--sj-line);padding:23px 0 0}.sj-number{margin-bottom:8px}.sj-help p{max-width:none}.sj-contact{padding:45px 0}.sj-contact-grid{grid-template-columns:1fr;gap:32px}.sj-margaret{margin-top:25px}.sj-footer{padding:28px 0 95px}.sj-footer-inner{display:block}.sj-footer-inner>div{text-align:left;margin-top:21px}.sj-footer nav{flex-wrap:wrap;gap:14px}.sj-sticky{display:flex;position:fixed;bottom:max(12px,env(safe-area-inset-bottom));left:20px;right:20px;z-index:45;box-shadow:0 2px 15px #0004}.sj-review-page{padding:40px 0 50px}.sj-review-page .sj-fields{grid-template-columns:1fr}.sj-review-page h1{font-size:50px}.sj-redesign .page-content .section-header h1{font-size:50px}.sj-redesign .page-content-inner{width:calc(100% - 40px)}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*::before,*::after{transition:none!important;animation:none!important}}
.sj-portrait img{left:0;transform:none;width:100%;height:100%;object-fit:cover;object-position:55% center}
@media(max-width:900px) and (min-width:768px){.sj-portrait img{height:78%;object-position:56% bottom}}
@media(max-width:767px){.sj-portrait img{height:100%;width:100%;max-width:none;object-fit:cover;object-position:64% 30%}}
.sj-redesign .page-body ol{padding-left:25px;margin:20px 0}.sj-redesign .page-body li{margin:7px 0;color:var(--sj-ink-2)}.sj-redesign .page-body li strong{color:var(--sj-ink)}.sj-redesign .page-body h2+h2{font-size:var(--fs-quote);line-height:1.25;letter-spacing:-.005em;margin-top:10px;color:var(--sj-ink-2)}
@media(max-width:767px){.sj-hero h1{font-size:clamp(52px,15.5vw,62px)}}
/* Hero portrait: dissolve the photo's edges into the dark hero. The mask fades all four sides (heaviest on the left, toward the copy); lighten floors the photo's near-black background at the section color so no darker halo shows. */
.sj-portrait img{-webkit-mask-image:linear-gradient(to right,transparent 0%,rgba(0,0,0,.4) 14%,rgba(0,0,0,.85) 28%,#000 40%,#000 80%,transparent 100%),linear-gradient(to bottom,transparent 0%,#000 14%,#000 86%,transparent 100%);-webkit-mask-composite:source-in;mask-image:linear-gradient(to right,transparent 0%,rgba(0,0,0,.4) 14%,rgba(0,0,0,.85) 28%,#000 40%,#000 80%,transparent 100%),linear-gradient(to bottom,transparent 0%,#000 14%,#000 86%,transparent 100%);mask-composite:intersect;mix-blend-mode:lighten}
/* Hero copy spacing. Three groups (pitch, offer + form, quote) separated by 40px; gaps inside a group stay small. The helper line sits tight under the fields it explains, with clear space before the button. Sizes come from the type tokens. */
.sj-hero h1{margin-bottom:18px}.sj-hero .sj-intro{max-width:30em;margin:0 0 40px}.sj-hero .sj-offer-title{font:600 var(--fs-title)/1.3 var(--sj-text);letter-spacing:-.012em;color:var(--sj-ivory);margin:0 0 6px}.sj-hero .sj-offer{color:var(--sj-muted);max-width:none;margin:0 0 18px}.sj-hero .sj-inquiry label{margin-bottom:8px}.sj-hero .sj-helper{margin-top:8px}.sj-hero .sj-inquiry .sj-button{min-height:54px;margin-top:24px}.sj-hero .sj-reassurance{list-style:none;display:flex;flex-wrap:wrap;gap:6px 22px;padding:0;margin:16px 0 0;color:var(--sj-ivory)}.sj-hero .sj-reassurance li{display:flex;align-items:center;gap:9px}.sj-hero .sj-reassurance li::before{content:"";flex:none;width:11px;height:6px;border-left:2px solid var(--sj-gold);border-bottom:2px solid var(--sj-gold);transform:translateY(-2px) rotate(-45deg)}.sj-hero .sj-secondary{display:inline-block;margin-top:16px}.sj-hero .sj-carlotta{margin-top:40px}
@media(max-width:767px){.sj-hero .sj-intro{margin-bottom:36px}.sj-hero .sj-reassurance{gap:6px 16px}.sj-hero .sj-carlotta{margin-top:36px}}
