:root{--ink:#2b1830;--plum:#5c294d;--rose:#b85c68;--cream:#f8f2eb;--paper:#fffdf9;--mist:#eadde0;--muted:#705f6d;--line:rgba(43,24,48,.13);--shadow:0 24px 70px rgba(59,31,54,.12);--radius:26px}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--paper);color:var(--ink);font-family:Inter,ui-sans-serif,system-ui,-apple-system,"Segoe UI",sans-serif;font-size:16px;line-height:1.7}body:before{content:"";position:fixed;inset:0;pointer-events:none;background-image:radial-gradient(rgba(92,41,77,.06) 1px,transparent 1px);background-size:24px 24px;mask-image:linear-gradient(to bottom,black,transparent 70%);z-index:-1}img{max-width:100%;display:block}a{color:inherit;text-decoration:none}button,input,textarea{font:inherit}.container{width:min(1160px,calc(100% - 40px));margin:auto}.site-header{position:sticky;top:0;z-index:50;background:rgba(255,253,249,.88);backdrop-filter:blur(18px);border-bottom:1px solid var(--line)}.nav{min-height:82px;display:flex;align-items:center;justify-content:space-between;gap:28px}.brand{display:flex;align-items:center;gap:12px}.brand-mark{width:42px;height:42px;border:1px solid var(--plum);border-radius:50%;display:grid;place-items:center;font-family:Georgia,serif;font-size:20px;color:var(--plum);position:relative}.brand-mark:after{content:"";position:absolute;width:7px;height:7px;background:var(--rose);border-radius:50%;right:1px;bottom:2px}.brand-copy{line-height:1.15}.brand-copy strong{font-family:Georgia,serif;font-size:17px;font-weight:600}.brand-copy span{display:block;font-size:11px;letter-spacing:.13em;text-transform:uppercase;color:var(--muted);margin-top:4px}.nav-links{display:flex;align-items:center;gap:26px;font-size:14px}.nav-links a:not(.button){position:relative}.nav-links a:not(.button):after{content:"";position:absolute;left:0;right:100%;bottom:-7px;height:1px;background:var(--rose);transition:.3s}.nav-links a:hover:after,.nav-links a[aria-current=page]:after{right:0}.menu-btn{display:none;border:0;background:none;padding:8px;font-size:25px}.button{display:inline-flex;align-items:center;justify-content:center;gap:10px;padding:13px 20px;border-radius:999px;background:var(--plum);color:white;border:1px solid var(--plum);font-weight:650;font-size:14px;transition:.25s transform,.25s background}.button:hover{transform:translateY(-2px);background:#421d38}.button.alt{background:transparent;color:var(--plum)}.button.alt:hover{background:var(--cream)}.eyebrow{text-transform:uppercase;letter-spacing:.19em;font-size:12px;font-weight:750;color:var(--rose)}h1,h2,h3{font-family:Georgia,"Times New Roman",serif;line-height:1.08;font-weight:500;margin:0}h1{font-size:clamp(46px,7vw,86px);letter-spacing:-.045em}h2{font-size:clamp(34px,4.5vw,58px);letter-spacing:-.035em}h3{font-size:24px}p{margin:0 0 1.15em}.hero{padding:70px 0 92px;overflow:hidden}.hero-grid{display:grid;grid-template-columns:1.08fr .92fr;align-items:center;gap:64px}.hero-copy .eyebrow{margin-bottom:20px}.hero-copy h1 em{font-weight:400;color:var(--rose)}.hero-copy>p{font-size:19px;color:var(--muted);max-width:620px;margin:25px 0 32px}.actions{display:flex;gap:12px;flex-wrap:wrap}.hero-media{position:relative}.portrait-wrap{border-radius:220px 220px 32px 32px;overflow:hidden;box-shadow:var(--shadow);background:var(--cream);aspect-ratio:.82}.portrait-wrap img{width:100%;height:100%;object-fit:cover;object-position:center 24%}.floating-note{position:absolute;left:-42px;bottom:32px;background:var(--paper);border:1px solid var(--line);box-shadow:var(--shadow);padding:20px 24px;border-radius:18px;max-width:260px;font-family:Georgia,serif;font-size:18px}.floating-note span{display:block;font-family:Inter,sans-serif;font-size:11px;text-transform:uppercase;letter-spacing:.12em;color:var(--rose);margin-top:8px}.section{padding:100px 0}.section.tinted{background:var(--cream)}.section-head{display:grid;grid-template-columns:.75fr 1.25fr;gap:48px;align-items:end;margin-bottom:45px}.section-head p{color:var(--muted);max-width:660px}.cards{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}.card{background:var(--paper);border:1px solid var(--line);border-radius:var(--radius);padding:28px;min-height:220px;transition:.3s transform,.3s box-shadow}.card:hover{transform:translateY(-6px);box-shadow:var(--shadow)}.card-no{font-family:Georgia,serif;color:var(--rose);font-size:15px;margin-bottom:35px}.card p{color:var(--muted);margin-top:13px;font-size:15px}.split{display:grid;grid-template-columns:1fr 1fr;gap:70px;align-items:center}.image-card{border-radius:var(--radius);overflow:hidden;box-shadow:var(--shadow);aspect-ratio:1.15}.image-card img{width:100%;height:100%;object-fit:cover}.copy p{color:var(--muted)}.copy h2{margin:10px 0 24px}.quote{padding:90px 0;text-align:center;background:var(--plum);color:white}.quote blockquote{margin:0 auto;max-width:860px;font-family:Georgia,serif;font-size:clamp(30px,5vw,54px);line-height:1.18}.quote cite{display:block;margin-top:20px;font-style:normal;color:#e9c8ce;font-size:13px;letter-spacing:.12em;text-transform:uppercase}.services-list{display:grid;grid-template-columns:repeat(2,1fr);border-top:1px solid var(--line)}.service-row{padding:24px 4px;border-bottom:1px solid var(--line);display:flex;justify-content:space-between;align-items:center;gap:20px}.service-row:nth-child(odd){margin-right:24px}.service-row h3{font-size:21px}.service-row span{color:var(--rose);font-size:22px}.blog-feature{display:grid;grid-template-columns:.85fr 1.15fr;background:var(--plum);color:white;border-radius:32px;overflow:hidden}.blog-feature img{width:100%;height:100%;min-height:430px;object-fit:cover}.blog-copy{padding:clamp(34px,6vw,72px)}.blog-copy p{color:#eadde5}.blog-copy h2{margin:12px 0 22px}.blog-copy .button{background:white;color:var(--plum);border-color:white}.cta{padding:80px 0}.cta-box{background:var(--cream);border:1px solid var(--line);border-radius:36px;padding:clamp(34px,6vw,70px);display:flex;justify-content:space-between;align-items:center;gap:35px}.cta-box p{color:var(--muted);margin:12px 0 0}.page-hero{padding:85px 0 60px}.page-hero h1{max-width:900px}.page-hero p{max-width:760px;color:var(--muted);font-size:19px;margin-top:24px}.prose{max-width:800px;margin:auto}.prose h2{font-size:36px;margin:48px 0 18px}.prose h3{font-size:25px;margin:34px 0 12px}.prose p{color:#4f414c}.prose .lead{font-family:Georgia,serif;font-size:26px;color:var(--plum)}.article-meta{display:flex;gap:16px;flex-wrap:wrap;color:var(--muted);font-size:14px;margin:20px 0 38px}.training{padding:22px 0;border-bottom:1px solid var(--line)}.training strong{display:block;font-family:Georgia,serif;font-size:21px;margin-bottom:7px}.contact-grid{display:grid;grid-template-columns:.8fr 1.2fr;gap:50px}.contact-card,.form-card{padding:34px;border:1px solid var(--line);border-radius:var(--radius);background:var(--paper)}.contact-card{background:var(--plum);color:white}.contact-card a{display:block;margin:18px 0;color:#f4d9de}.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:18px}.field{display:flex;flex-direction:column;gap:7px}.field.full{grid-column:1/-1}.field label{font-size:13px;font-weight:700}.field input,.field textarea{border:1px solid var(--line);border-radius:12px;padding:13px 14px;background:#fff}.field textarea{min-height:120px;resize:vertical}.form-note{font-size:13px;color:var(--muted);margin:16px 0}.footer{background:#221226;color:#f8edf4;padding:60px 0 25px}.footer-grid{display:grid;grid-template-columns:1.2fr .8fr .8fr;gap:50px}.footer p,.footer a{color:#cdbfca;font-size:14px}.footer a{display:block;margin:8px 0}.copyright{border-top:1px solid rgba(255,255,255,.12);padding-top:20px;margin-top:40px;font-size:12px;color:#a894a4}.reveal{opacity:0;transform:translateY(25px);transition:.7s ease}.reveal.visible{opacity:1;transform:none}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}@media(max-width:850px){.nav-links{display:none;position:absolute;top:82px;left:0;right:0;background:var(--paper);padding:25px 20px;flex-direction:column;align-items:flex-start;border-bottom:1px solid var(--line)}.nav-links.open{display:flex}.menu-btn{display:block}.hero-grid,.split,.section-head,.contact-grid{grid-template-columns:1fr}.hero{padding-top:40px}.hero-media{max-width:560px;margin:auto}.floating-note{left:12px}.cards{grid-template-columns:1fr}.services-list{grid-template-columns:1fr}.service-row:nth-child(odd){margin-right:0}.blog-feature{grid-template-columns:1fr}.blog-feature img{min-height:290px}.cta-box{align-items:flex-start;flex-direction:column}.footer-grid{grid-template-columns:1fr 1fr}.form-grid{grid-template-columns:1fr}.field.full{grid-column:auto}}@media(max-width:520px){.container{width:min(100% - 28px,1160px)}.brand-copy strong{font-size:14px}.brand-copy span{font-size:9px}.hero{padding-bottom:65px}.section{padding:72px 0}.footer-grid{grid-template-columns:1fr}.portrait-wrap{aspect-ratio:.88}.floating-note{position:relative;left:auto;bottom:auto;margin:-25px 14px 0}.page-hero{padding-top:58px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}.reveal{opacity:1;transform:none;transition:none}.card,.button{transition:none}}

/* Warm editorial red direction */
:root{--ink:#2c191c;--plum:#9b2735;--rose:#c84b59;--cream:#fbf4ef;--paper:#fffdf9;--mist:#f2dfe1;--muted:#715b5f;--line:rgba(104,32,41,.14);--shadow:0 24px 70px rgba(107,31,41,.13)}
body:before{background-image:radial-gradient(rgba(155,39,53,.065) 1px,transparent 1px)}
.button:hover{background:#781c29}
.quote,.blog-feature,.contact-card{background:linear-gradient(135deg,#9b2735 0%,#7f1e2b 100%)}
.footer{background:#321317}
.quote cite,.blog-copy p{color:#f3cdd2}
.contact-card a{color:#f8dfe3}
.page-hero{padding:104px 0 76px;overflow:hidden}
.page-hero h1{max-width:1080px;font-size:clamp(68px,9.4vw,132px);line-height:.94;letter-spacing:-.058em}
.page-hero .eyebrow{margin-bottom:18px}
@media(max-width:850px){.page-hero{padding:76px 0 58px}.page-hero h1{font-size:clamp(54px,12vw,88px);line-height:.98}}
@media(max-width:520px){.page-hero{padding-top:60px}.page-hero h1{font-size:clamp(48px,14vw,68px)}}

/* Typology-inspired home opening and layered scroll */
.home-page{background:#fffdf9}
.home-page:before{display:none}
.home-header{position:fixed;inset:0 0 auto;z-index:60;background:transparent;border-color:rgba(255,255,255,.18);color:#fff;backdrop-filter:none;transition:background .35s ease,color .35s ease,border-color .35s ease,box-shadow .35s ease}
.home-header .brand-mark{border-color:rgba(255,255,255,.8);color:#fff}
.home-header .brand-mark:after{background:#fff1f1}
.home-header .brand-copy span{color:rgba(255,255,255,.72)}
.home-header .nav-links a:not(.button):after{background:#fff}
.home-header .nav-links .button{background:#fff;color:var(--plum);border-color:#fff}
.home-header.scrolled{background:rgba(255,253,249,.94);color:var(--ink);border-color:var(--line);backdrop-filter:blur(18px);box-shadow:0 8px 35px rgba(66,18,25,.08)}
.home-header.scrolled .brand-mark{border-color:var(--plum);color:var(--plum)}
.home-header.scrolled .brand-mark:after{background:var(--rose)}
.home-header.scrolled .brand-copy span{color:var(--muted)}
.home-header.scrolled .nav-links a:not(.button):after{background:var(--rose)}
.home-header.scrolled .nav-links .button{background:var(--plum);color:#fff;border-color:var(--plum)}
.home-hero{position:sticky;top:0;z-index:0;min-height:100svh;padding:150px 0 175px;background:linear-gradient(138deg,#b92f43 0%,#a32235 50%,#861b2b 100%);color:#fff;isolation:isolate}
.home-hero:after{content:"";position:absolute;inset:0;z-index:-1;background:radial-gradient(circle at 73% 26%,rgba(255,220,219,.17),transparent 32%),linear-gradient(90deg,transparent 0 49.9%,rgba(255,255,255,.06) 50%,transparent 50.1%);pointer-events:none}
.hero-monogram{position:absolute;left:5%;top:5%;z-index:-1;font-family:Georgia,serif;font-size:min(72vw,820px);line-height:1;color:rgba(93,4,25,.15);font-weight:700;user-select:none}
.hero-stage{position:relative;z-index:1;transform:translateY(var(--hero-shift,0));opacity:var(--hero-fade,1);transition:opacity .08s linear;will-change:transform,opacity}
.home-hero .hero-grid{grid-template-columns:1.2fr .8fr;gap:80px}
.home-hero .hero-copy .eyebrow{color:#ffd7dc}
.home-hero .hero-copy h1{font-size:clamp(54px,6.7vw,102px);line-height:.94;letter-spacing:-.055em}
.home-hero .hero-copy h1 em{color:#fff;font-weight:400}
.home-hero .hero-copy>p{color:rgba(255,255,255,.8);font-size:18px;max-width:650px}
.hero-button{background:#fff;color:var(--plum);border-color:#fff}
.hero-button:hover{background:#fff5f4;color:#781c29}
.hero-button-alt{color:#fff!important;border-color:rgba(255,255,255,.65)!important}
.hero-button-alt:hover{background:rgba(255,255,255,.1)!important}
.portrait-clean{aspect-ratio:.78;border-radius:4px;background:transparent;box-shadow:0 35px 85px rgba(55,0,12,.28);position:relative}
.portrait-clean:after{content:"";position:absolute;inset:0;border:1px solid rgba(255,255,255,.28);pointer-events:none}
.portrait-clean img{object-position:center 22%;filter:saturate(.88) contrast(1.02)}
.hero-caption{margin:14px 0 0;text-align:right;color:rgba(255,255,255,.68);font-size:12px;letter-spacing:.08em;text-transform:uppercase;line-height:1.5}
.hero-caption strong{color:#fff;font-weight:650}
.scroll-cue{position:absolute;bottom:98px;left:50%;transform:translateX(-50%);display:flex;flex-direction:column;align-items:center;gap:8px;color:rgba(255,255,255,.7);font-size:10px;text-transform:uppercase;letter-spacing:.2em}
.scroll-cue span{display:block;width:1px;height:34px;background:linear-gradient(to bottom,#fff,transparent);animation:scrollPulse 1.8s ease-in-out infinite}
@keyframes scrollPulse{0%,100%{transform:scaleY(.55);transform-origin:top;opacity:.45}50%{transform:scaleY(1);opacity:1}}
.hero-overlap{position:relative;z-index:5;width:min(1360px,calc(100% - 56px));margin:-72px auto 0;border-radius:28px 28px 0 0;background:var(--paper)!important;box-shadow:0 -28px 90px rgba(61,6,18,.2);padding-top:118px}
.hero-overlap+.section,.hero-overlap~section,.hero-overlap~footer{position:relative;z-index:5}
.home-page main{background:transparent}
.home-page .hero-overlap~.section{background:var(--paper)}
.home-page .hero-overlap~.section.tinted{background:var(--cream)}
.home-page .hero-overlap~.quote{background:linear-gradient(135deg,#9b2735 0%,#7f1e2b 100%)}
.home-page .hero-overlap~.cta{background:var(--paper)}
@media(max-width:850px){.home-header .nav-links{background:#fffdf9;color:var(--ink)}.home-header .nav-links .button{background:var(--plum);color:#fff;border-color:var(--plum)}.home-hero{position:relative;min-height:auto;padding:125px 0 150px}.home-hero .hero-grid{grid-template-columns:1fr;gap:52px}.home-hero .hero-copy h1{font-size:clamp(53px,12vw,82px)}.home-hero .hero-media{width:min(78vw,480px)}.scroll-cue{bottom:84px}.hero-overlap{width:calc(100% - 24px);margin-top:-42px;padding-top:86px;border-radius:20px 20px 0 0}}
@media(max-width:520px){.home-hero{padding:116px 0 125px}.home-hero .hero-copy h1{font-size:clamp(48px,14vw,68px)}.home-hero .hero-copy>p{font-size:16px}.home-hero .hero-media{width:88vw}.scroll-cue{display:none}.hero-overlap{margin-top:-30px;padding-top:72px}.hero-monogram{font-size:115vw;left:-8%;top:19%}}
@media(prefers-reduced-motion:reduce){.hero-stage{transform:none!important;opacity:1!important}.scroll-cue span{animation:none}}
