@import url('https://fonts.googleapis.com/css2?family=DM+Mono:wght@400;500&family=DM+Sans:opsz,wght@9..40,400;9..40,500;9..40,600&family=Playfair+Display:ital,wght@0,500;0,600;1,500;1,600&display=swap');

:root { --ink:#25382f; --moss:#405646; --cream:#f6f1e8; --paper:#fffdf9; --clay:#bd765d; --line:rgba(37,56,47,.2); }
* { box-sizing:border-box; }
html { scroll-behavior:smooth; }
body { margin:0; background:var(--cream); color:var(--ink); font-family:"DM Sans",Arial,sans-serif; font-size:16px; line-height:1.55; }
a { color:inherit; text-decoration:none; }
.site-header { height:88px; max-width:1440px; margin:auto; padding:0 5vw; display:flex; align-items:center; justify-content:space-between; gap:30px; }
.brand { font-family:"Playfair Display",serif; font-size:27px; letter-spacing:-1.1px; white-space:nowrap; }.brand span { font-style:italic; }
nav { display:flex; gap:27px; font-size:13px; } nav a { transition:color .2s; } nav a:hover { color:var(--clay); }
.header-cta,.button { background:var(--ink); color:white; padding:12px 18px; font-size:13px; border-radius:2px; }.button { display:inline-flex; gap:28px; align-items:center; padding:16px 20px; margin-top:13px; }.button span { font-size:18px; line-height:0; }
.hero { min-height:calc(100vh - 88px); max-width:1440px; margin:auto; padding:4vw 5vw 7vw; display:grid; grid-template-columns:.95fr 1.05fr; align-items:center; gap:8vw; overflow:hidden; }.hero-copy { max-width:580px; position:relative; z-index:1; }.eyebrow { margin:0 0 20px; color:var(--clay); font-family:"DM Mono",monospace; font-size:11px; letter-spacing:1.4px; text-transform:uppercase; }.hero h1,.manifesto h2,h2 { font-family:"Playfair Display",serif; font-weight:500; letter-spacing:-.055em; line-height:.96; margin:0; }.hero h1 { font-size:clamp(57px,7.5vw,112px); }.hero h1 em,.group h2 em,.training h2 em,.contact h2 em { color:var(--clay); }.intro { max-width:425px; margin:29px 0 10px; font-size:19px; line-height:1.6; }.hero-image-wrap { height:min(65vw,700px); position:relative; }.hero-image { width:84%; height:100%; object-fit:cover; object-position:40% center; position:relative; z-index:1; filter:saturate(.88); }.hero-sun { background:#dcad82; border-radius:50%; width:56%; aspect-ratio:1; position:absolute; right:-1%; top:2%; }.vertical-note { bottom:2px; right:0; position:absolute; writing-mode:vertical-rl; transform:rotate(180deg); font-family:"DM Mono",monospace; font-size:10px; letter-spacing:1.3px; text-transform:uppercase; }
.manifesto { background:var(--moss); color:#fffdf7; text-align:center; padding:140px max(8vw,28px); }.manifesto .eyebrow { color:#edc4a4; }.manifesto h2 { max-width:940px; margin:0 auto 27px; font-size:clamp(38px,5.1vw,74px); }.manifesto > p:last-child { max-width:650px; margin:auto; font-size:18px; opacity:.85; }
.paths { background:var(--paper); padding:0 5vw; display:grid; grid-template-columns:repeat(3,1fr); }.path-card { min-height:355px; padding:43px 30px 37px; border-right:1px solid var(--line); display:flex; flex-direction:column; transition:background .25s,color .25s; }.path-card:first-child { border-left:1px solid var(--line); }.path-card:hover { background:var(--ink); color:white; }.path-card > span { color:var(--clay); font:11px "DM Mono",monospace; }.path-card h3 { margin:64px 0 15px; font:500 31px/1.05 "Playfair Display",serif; letter-spacing:-.04em; }.path-card p { margin:0; max-width:290px; font-size:14px; }.path-card b { margin-top:auto; padding-top:27px; font-size:12px; font-weight:500; }.path-card i { color:var(--clay); font-style:normal; font-size:16px; margin-left:6px; }
.about-section { max-width:1230px; margin:auto; padding:150px 5vw; display:grid; grid-template-columns:45% 1fr; gap:10%; align-items:center; }.portrait-frame { height:625px; position:relative; padding:0 25px 25px 0; }.portrait-frame:after { content:""; background:#d7b48d; position:absolute; right:0; bottom:0; width:78%; height:77%; z-index:-1; }.portrait-frame img { width:100%; height:100%; object-fit:cover; object-position:center; filter:saturate(.8); }.frame-caption { position:absolute; bottom:42px; right:-32px; color:white; font:10px "DM Mono",monospace; letter-spacing:1px; text-transform:uppercase; transform:rotate(-90deg); }.about-copy { max-width:495px; }.about-copy h2,.consulting h2 { font-size:clamp(43px,4.4vw,66px); }.about-copy > p:not(.eyebrow) { margin:25px 0 0; }.about-copy details { border-top:1px solid var(--line); margin-top:34px; padding-top:16px; }.about-copy summary { cursor:pointer; display:flex; justify-content:space-between; font-size:13px; font-weight:600; }.about-copy summary span { color:var(--clay); font-size:20px; line-height:.8; }.about-copy details p { font-size:14px; color:#536359; }
.consulting { display:grid; grid-template-columns:1fr 1fr; background:#e7ded0; }.consulting-photo { min-height:660px; }.consulting-photo img { width:100%; height:100%; object-fit:cover; object-position:48% center; filter:saturate(.78); }.consulting-copy { padding:11vw 10vw 8vw 8vw; }.consulting-copy > p:not(.eyebrow) { margin:26px 0 34px; max-width:510px; }.two-ways { display:grid; grid-template-columns:1fr 1fr; gap:22px; border-top:1px solid var(--line); padding-top:22px; }.two-ways span { font:500 18px "Playfair Display",serif; }.two-ways p { font-size:13px; margin:8px 0; }.text-link { display:inline-block; margin-top:31px; font-size:13px; font-weight:600; }.text-link span { margin-left:9px; color:var(--clay); font-size:17px; }
.group { max-width:1230px; padding:150px 5vw 0; margin:auto; display:grid; grid-template-columns:.9fr 1.1fr; column-gap:10%; }.group h2,.training h2,.contact h2 { font-size:clamp(47px,5.6vw,80px); }.group-content { padding-top:61px; max-width:540px; font-size:17px; }.group-content p + p { margin-top:25px; }.group-image { grid-column:1 / -1; width:100%; height:405px; margin-top:58px; object-fit:cover; object-position:center 55%; filter:saturate(.8); }
.training { margin-top:155px; padding:138px 5vw 145px; background:var(--ink); color:#fffdf7; }.training .eyebrow { color:#edc4a4; }.training-grid { max-width:1230px; margin:78px auto 0; display:grid; grid-template-columns:repeat(4,1fr); border-top:1px solid rgba(255,255,255,.28); }.training-grid article { padding:25px 25px 15px 0; border-right:1px solid rgba(255,255,255,.28); min-height:245px; }.training-grid article:not(:first-child) { padding-left:25px; }.training-grid article:last-child { border-right:0; }.training-grid p { color:#edc4a4; font:10px "DM Mono",monospace; letter-spacing:1.1px; text-transform:uppercase; }.training-grid h3 { font:500 25px/1.08 "Playfair Display",serif; letter-spacing:-.035em; margin:47px 0 16px; }.training-grid span,.training-grid a { font-size:12px; opacity:.76; }.training-grid a { color:#edc4a4; }
.contact { background:var(--clay); color:#fffaf3; padding:130px 8vw; display:grid; grid-template-columns:1fr 1fr; gap:11%; }.contact .eyebrow { color:#f3d0ad; }.contact-box { align-self:end; max-width:405px; font-size:19px; }.button.light { color:var(--ink); background:#fffaf3; }.contact small { display:block; margin-top:25px; opacity:.74; font-size:11px; } footer { background:var(--ink); color:#fffaf3; padding:31px 5vw; display:flex; justify-content:space-between; align-items:center; font-size:12px; } footer .brand { font-size:20px; } footer p { opacity:.65; } footer a:last-child { color:#edc4a4; }
.studio { min-height:100vh; max-width:1080px; padding:8vw 5vw; margin:auto; }.studio h1 { font:500 clamp(45px,6vw,75px)/.95 "Playfair Display",serif; letter-spacing:-.055em; margin:0; }.studio-intro { max-width:640px; margin:20px 0 50px; }.studio-grid { display:grid; grid-template-columns:1fr .85fr; gap:45px; }.studio-card { background:var(--paper); padding:32px; border:1px solid var(--line); }.studio-card h2 { font-size:34px; }.studio label { display:block; font:11px "DM Mono",monospace; letter-spacing:1px; text-transform:uppercase; margin:23px 0 8px; }.studio input,.studio textarea { width:100%; background:#fffdf9; border:1px solid rgba(37,56,47,.25); padding:12px; color:var(--ink); font:14px "DM Sans",sans-serif; }.studio textarea { min-height:135px; resize:vertical; }.studio button { cursor:pointer; border:0; margin-top:23px; }.studio-status { margin:18px 0 0; font-size:13px; }.studio-note { font-size:13px; line-height:1.6; }.studio-note code { display:inline-block; padding:1px 4px; background:#ece5d9; }.back-link { display:inline-block; font:12px "DM Mono",monospace; letter-spacing:1px; text-transform:uppercase; margin-bottom:40px; }
.studio-top { display:flex; justify-content:space-between; align-items:flex-start; }.studio-top .back-link { margin-bottom:40px; }.plain-button { background:transparent; color:var(--ink); font:12px "DM Mono",monospace; letter-spacing:1px; text-transform:uppercase; padding:0; }.button.secondary { background:transparent; color:var(--ink); outline:1px solid var(--ink); }.section-list { margin-top:24px; border-top:1px solid var(--line); }.section-list > div { display:flex; justify-content:space-between; gap:15px; padding:12px 0; border-bottom:1px solid var(--line); font-size:13px; }.section-list button { margin:0; background:transparent; color:var(--clay); font-size:12px; }.login-page { max-width:660px; }.login-card { max-width:440px; margin-top:35px; }
@media (max-width:760px) { .site-header { height:73px; padding:0 6vw; } nav { display:none; }.header-cta { font-size:12px; padding:9px 12px; }.hero { min-height:auto; grid-template-columns:1fr; padding:12vw 6vw 19vw; gap:13vw; }.hero h1 { font-size:58px; }.hero-image-wrap { height:128vw; }.hero-image { width:87%; }.manifesto { padding:90px 7vw; }.paths { padding:0 6vw; grid-template-columns:1fr; }.path-card,.path-card:first-child { min-height:270px; border-left:1px solid var(--line); border-bottom:0; }.path-card h3 { margin-top:40px; }.about-section,.consulting,.group,.contact,.studio-grid { grid-template-columns:1fr; }.about-section { padding:90px 6vw; gap:50px; }.portrait-frame { height:126vw; max-height:620px; }.consulting-photo { min-height:116vw; }.consulting-copy { padding:80px 7vw; }.two-ways { grid-template-columns:1fr; }.group { padding:90px 6vw 0; }.group-content { padding-top:25px; }.group-image { height:82vw; margin-top:32px; }.training { margin-top:90px; padding:90px 7vw; }.training-grid { grid-template-columns:1fr; margin-top:50px; }.training-grid article,.training-grid article:not(:first-child) { padding:25px 0; border-right:0; border-bottom:1px solid rgba(255,255,255,.28); min-height:0; }.training-grid h3 { margin-top:27px; }.contact { padding:90px 7vw; gap:55px; }.contact-box { font-size:17px; } footer { align-items:flex-start; flex-direction:column; gap:12px; } footer p { margin:0; }.studio { padding:13vw 6vw; }.studio-card { padding:25px; } }
.content-section { margin-top:32px; }.content-section img { width:100%; margin-top:20px; }.cms-section { margin-top:25px; padding-top:1px; border-top:1px solid var(--line); }.cms-section + .cms-section { margin-top:30px; }
.construction-body { min-height:100vh; display:grid; place-items:center; background:var(--moss); color:#fffdf7; }.construction { max-width:760px; padding:10vw 8vw; text-align:center; }.construction .eyebrow { color:#edc4a4; }.construction h1 { font:500 clamp(54px,8vw,112px)/.92 "Playfair Display",serif; letter-spacing:-.06em; margin:0; }.construction h1 em { color:#edc4a4; }.construction p:last-child { max-width:440px; margin:30px auto 0; font-size:18px; opacity:.85; }
