:root{--paper:#f5f3ee;--ink:#242621;--muted:#62655e;--accent:#620674;--line:#d7d7ce;--white:#fffefa}*{box-sizing:border-box}html{scroll-behavior:smooth;overflow-x:clip}body{margin:0;background:var(--paper);color:var(--ink);font-family:Arial,Helvetica,sans-serif;font-size:17px;line-height:1.6}a{color:inherit;text-underline-offset:5px}a:hover{color:var(--accent)}button,input,textarea{font:inherit}:focus-visible{outline:3px solid var(--accent);outline-offset:5px}img{max-width:100%;height:auto;display:block}h1,h2,h3,p{margin:0}h1,h2,h3{font-weight:500;line-height:1.08;letter-spacing:-.045em}h1{font-size:clamp(2.7rem,5.4vw,5rem)}h2{font-size:clamp(2rem,3.4vw,3.1rem)}h3{font-size:1.75rem}p+p{margin-top:1em}.wrap{width:min(1260px,calc(100% - 96px));margin:auto}.skip{position:absolute;top:-100px;left:20px;background:var(--white);padding:10px;z-index:10}.skip:focus{top:10px}.header{border-bottom:1px solid var(--line)}.header-inner{min-height:100px;display:flex;align-items:center;justify-content:space-between;gap:30px}.brand{display:flex;flex-direction:column;gap:3px;text-decoration:none;line-height:1.1}.brand-name{font-size:20px;font-weight:700;letter-spacing:-.04em}.brand-dot{color:var(--accent)}.brand-line{font:10px/1.2 monospace;text-transform:uppercase;letter-spacing:.16em;color:var(--accent)}nav{display:flex;gap:30px}nav a{text-decoration:none;font-size:14px}nav a[aria-current=page]{text-decoration:underline;text-decoration-color:var(--accent);text-decoration-thickness:2px}.menu{display:none;border:1px solid var(--line);background:transparent;padding:7px 13px}.eyebrow{text-transform:uppercase;font-size:11px;font-weight:700;letter-spacing:.16em;color:var(--accent);margin-bottom:24px}.hero{display:grid;grid-template-columns:1.35fr .85fr;gap:64px;align-items:center;padding:72px 0 80px}.hero h1{font-size:clamp(2.6rem,4.8vw,4.4rem)}.hero .intro{max-width:580px;margin-top:28px}.portrait{aspect-ratio:4/5;width:100%;object-fit:cover;object-position:66% center}.photo-note{font-size:11px;color:var(--muted);margin-top:12px;letter-spacing:.04em}.intro{font-size:20px;line-height:1.5;color:var(--muted)}.actions{display:flex;align-items:center;flex-wrap:wrap;gap:25px;margin-top:32px}.button{display:inline-flex;justify-content:center;align-items:center;gap:24px;background:var(--accent);color:white;padding:13px 21px;text-decoration:none;font-size:14px;border:1px solid var(--accent);cursor:pointer}.button:hover{background:#450552;color:white}.button-secondary{background:transparent;color:var(--ink);border-color:var(--line)}.button-secondary:hover{background:var(--ink);color:var(--paper);border-color:var(--ink)}.text-link{font-size:14px}.section{padding:64px 0;border-top:1px solid var(--line)}.section-top{display:flex;justify-content:space-between;align-items:baseline;gap:25px;margin-bottom:36px}.small{font-size:13px;color:var(--muted)}.doors{display:grid;grid-template-columns:repeat(3,1fr);gap:28px}.door{display:flex;flex-direction:column;text-decoration:none;min-height:240px;padding:26px;border:1px solid var(--line);background:var(--white);transition:transform .15s,border-color .15s}.door:hover{transform:translateY(-4px);border-color:var(--accent)}.door .number{font:12px monospace;color:var(--accent);margin-bottom:32px}.door h3{margin-bottom:12px}.door p{color:var(--muted);font-size:15px;max-width:240px}.door .arrow{align-self:flex-end;margin-top:auto;color:var(--accent);font-size:25px}.through{display:grid;grid-template-columns:1fr 1.4fr;gap:80px}.through p{font-size:23px;line-height:1.5;letter-spacing:-.02em}.route{margin-top:35px;color:var(--muted);font:12px/1.7 monospace}.cta{padding:45px;background:var(--ink);color:var(--paper);display:flex;justify-content:space-between;align-items:center;gap:40px;margin:20px 0 70px}.cta h2{font-size:2.2rem}.cta p{margin-top:15px;color:#c6c7bf}.cta .button{white-space:nowrap}.footer{border-top:1px solid var(--line);padding:32px 0}.footer-inner{display:grid;grid-template-columns:1fr 1fr;gap:30px 40px;font-size:13px;color:var(--muted)}.footer-row-top{display:contents}.footer-id{display:flex;flex-direction:column;gap:8px}.footer-id>span:first-child{font-size:14px;color:var(--ink);font-weight:500}.footer-motto{font:11px monospace;text-transform:uppercase;letter-spacing:.14em;color:var(--accent)}.footer-links{display:flex;gap:22px;flex-wrap:wrap;justify-self:end;align-items:flex-start}.footer-address{font-style:normal;font-size:13px;line-height:1.7;color:var(--muted);grid-column:1/2}.footer-address strong{font-weight:600;display:block;margin-bottom:4px}.footer-address a{text-decoration:none}.preview-label{grid-column:2/3;justify-self:end;align-self:end;font:10px monospace;text-transform:uppercase;letter-spacing:.1em;color:var(--muted);opacity:.6}.page-intro{padding:70px 0 65px;max-width:940px}.page-intro h1{max-width:850px}.page-intro .intro{margin-top:25px;max-width:700px}.page-index{display:flex;flex-wrap:wrap;gap:24px;margin-top:35px;font-size:13px}.case{padding:55px 0;border-top:1px solid var(--line);display:grid;grid-template-columns:1fr 1.4fr;gap:80px}.case-meta{font-size:12px;color:var(--muted);margin:16px 0 22px}.case h3{font-size:2rem}.case-copy p{color:var(--muted)}.case-copy ul{padding-left:20px;margin:22px 0 0}.case-copy li{margin:10px 0}.case-image{margin-top:27px;width:100%;max-height:370px;object-fit:contain;background:#e9e9e2}.case-copy .large{font-size:24px;letter-spacing:-.02em;color:var(--ink)}.stat-line{display:flex;gap:35px;flex-wrap:wrap;margin:27px 0}.stat strong{display:block;font-size:2.5rem;line-height:1.1;letter-spacing:-.05em;font-weight:500;color:var(--accent)}.stat span{font-size:12px;color:var(--muted)}.note{border-left:2px solid var(--accent);padding-left:20px;margin-top:28px;font-size:13px;color:var(--muted)}.landscape{width:100%;max-height:350px;object-fit:cover;margin-bottom:65px}.offerings{display:grid;grid-template-columns:1fr 1fr;gap:15px 35px;margin-top:25px}.offering{border-top:1px solid var(--line);padding-top:13px;font-size:16px}.quote{margin:30px 0 0;padding-left:22px;border-left:2px solid var(--accent);font-size:23px;line-height:1.4}.quote cite{display:block;margin-top:15px;font-size:12px;font-style:normal;color:var(--muted)}.contact-grid{display:grid;grid-template-columns:1fr 1.2fr;gap:90px;padding:0 0 80px}.contact-method{padding:23px 0;border-top:1px solid var(--line)}.contact-method p{font-size:11px;text-transform:uppercase;letter-spacing:.14em;color:var(--muted);margin-bottom:8px}.contact-method a{overflow-wrap:anywhere}form{padding:30px;background:var(--white);border:1px solid var(--line)}label{display:block;font-size:13px;margin-bottom:7px}input,textarea{display:block;width:100%;padding:12px;background:var(--paper);border:1px solid #b9bab1;border-radius:0;color:var(--ink);margin-bottom:23px}textarea{resize:vertical;min-height:150px}.form-note{font-size:12px;color:var(--muted);margin:20px 0 0}.draft{margin-top:25px;padding:24px;background:#ebe7ef;border:1px solid var(--accent)}.draft h2{font-size:1.5rem}.draft pre{font:14px/1.6 monospace;white-space:pre-wrap;overflow-wrap:anywhere;margin:20px 0 0}[hidden]{display:none!important}.preview-label{font:10px monospace;text-transform:uppercase;letter-spacing:.1em;color:var(--muted)}
.logo-wall{padding:50px 0;background:transparent}
.press-list{padding:0 0 60px}.press-item{padding:30px 0;border-top:1px solid var(--line)}.press-meta{display:flex;gap:20px;flex-wrap:wrap;font-size:12px;color:var(--muted);margin-bottom:12px}.press-outlet{font-weight:700}.press-title{font-size:1.75rem;font-weight:500;line-height:1.2;letter-spacing:-.04em}.press-title a{text-decoration:none}.press-title a:hover{color:var(--accent)}
.timeline{padding:0 0 60px}.timeline-item{display:grid;grid-template-columns:120px 1fr;gap:40px;padding:35px 0;border-top:1px solid var(--line)}.timeline-year{font-size:1.5rem;font-weight:600;letter-spacing:-.03em;color:var(--accent)}.timeline-content p{color:var(--muted);margin-bottom:1.2em}.timeline-content p:last-child{margin-bottom:0}.timeline-content ul{padding-left:20px;margin:15px 0 0;color:var(--muted)}.timeline-content li{margin:8px 0}.logo-wall-label{font-size:10px;text-transform:uppercase;letter-spacing:.18em;color:var(--muted);text-align:center;margin-bottom:32px;opacity:.7}.logo-wall-grid{display:flex;align-items:center;justify-content:center;gap:clamp(40px,8vw,80px)}.logo-wall-grid img{height:32px;width:auto;max-width:180px;opacity:1;transition:opacity .2s}.logo-wall-grid img:hover{opacity:.7}.logo-wall-grid img[src$=".png"]{filter:grayscale(100%) brightness(0.7) contrast(1.2)}
@media(min-width:1500px){.hero{padding-top:90px;padding-bottom:100px}}@media(max-width:900px){.wrap{width:calc(100% - 48px)}.hero{gap:30px}.hero h1{font-size:3rem}.through,.case{gap:35px}.contact-grid{gap:35px}.doors{gap:15px}.door{padding:20px}.cta{padding:30px}.header-inner{min-height:85px}nav{gap:20px}}@media(max-width:640px){.wrap{width:calc(100% - 40px)}.header-inner{min-height:76px;flex-wrap:wrap;gap:0}.menu{display:block;font-size:13px}nav{display:none;width:100%;padding:10px 0 22px;flex-direction:column;gap:13px}nav.open{display:flex}nav a{padding:5px 0}.hero{display:flex;flex-direction:column;align-items:stretch;padding:42px 0 44px;gap:38px}.hero h1{font-size:2.6rem}.hero .intro{font-size:18px;margin-top:22px}.hero .actions{flex-direction:column;width:100%;gap:15px}.hero .actions .button{width:100%;justify-content:center}.portrait{aspect-ratio:5/4;object-position:center 36%}.eyebrow{margin-bottom:20px}.section{padding:40px 0}.section-top{align-items:flex-start;flex-direction:column;gap:12px;margin-bottom:25px}.doors,.through,.case,.contact-grid{grid-template-columns:1fr;gap:28px}.door{min-height:185px}.door .number{margin-bottom:24px}.door p{max-width:100%}.door .arrow{margin-top:12px}.through p{font-size:21px}.route{margin-top:20px}.cta{flex-direction:column;align-items:flex-start;margin:0 0 45px;gap:25px;padding:27px}.cta h2{font-size:1.9rem}.footer-inner{grid-template-columns:1fr;gap:20px}.footer-id{order:1}.footer-links{order:2;justify-self:start;gap:18px}.footer-address{order:3;grid-column:1}.preview-label{order:4;grid-column:1;justify-self:start}.timeline-item{grid-template-columns:80px 1fr;gap:25px;padding:28px 0}.timeline-year{font-size:1.3rem}.page-intro{padding:44px 0}.page-intro .intro{font-size:18px}.page-index{gap:15px}.case{padding:35px 0;gap:18px}.case h3{font-size:1.8rem}.case-meta{margin:12px 0}.case-image{margin-top:20px}.stat-line{gap:25px}.stat strong{font-size:2rem}.contact-grid{padding-bottom:45px}form{padding:22px}.offerings{grid-template-columns:1fr}.landscape{margin-bottom:40px}.quote{font-size:21px}.logo-wall{padding:40px 0}.logo-wall-label{margin-bottom:26px}.logo-wall-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:32px 28px}.logo-wall-grid img{height:28px;justify-self:center}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*{transition:none!important}}

.photo-hero{position:relative;isolation:isolate;margin-inline:calc(50% - 50vw);padding-inline:calc(50vw - 50%);background:var(--ink);color:var(--paper);overflow:hidden}
.photo-hero-bg{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;z-index:-2}
.photo-hero-scrim{position:absolute;inset:0;z-index:-1;background:linear-gradient(90deg,rgba(26,27,24,.93) 0%,rgba(26,27,24,.82) 45%,rgba(26,27,24,.55) 100%),linear-gradient(0deg,rgba(26,27,24,.5),rgba(26,27,24,0) 40%)}
.photo-hero .eyebrow{color:#d7b3df}.photo-hero .intro{color:#dcdbd3}.photo-hero .small{color:#c6c7bf}.photo-hero a:not(.button){color:var(--paper)}.photo-hero a:not(.button):hover{color:#d7b3df}.photo-hero .button{border-color:#8a2c9c}
.photo-hero-inner{position:relative}.page-hero{margin-bottom:0}.page-hero .page-intro{padding:96px 0 90px}
.home-hero .hero{padding:80px 0 88px;grid-template-columns:1.35fr .75fr}
.hero-name{font-size:clamp(1.6rem,2.4vw,2.2rem);font-weight:700;letter-spacing:-.04em;line-height:1}
.motto{font:12px/1.4 monospace;text-transform:uppercase;letter-spacing:.22em;color:#d7b3df;margin:12px 0 36px;padding-top:12px;border-top:2px solid var(--accent);display:inline-block}
.portrait-figure{margin:0}.home-hero .portrait{border:1px solid rgba(245,243,238,.35);object-position:center 40%}.home-hero .photo-note{color:#c6c7bf}
.case-photo{margin-top:27px;width:100%;aspect-ratio:3/2;object-fit:cover}
.home-hero+.section{border-top:0}
@media(max-width:640px){.home-hero .hero{padding:42px 0 44px}.home-hero .portrait{aspect-ratio:4/5;object-position:center 40%}.page-hero .page-intro{padding:56px 0 52px}.motto{margin-bottom:26px}.photo-hero-scrim{background:rgba(26,27,24,.84)}}
.page-hero+.contact-grid{padding-top:56px}@media(max-width:640px){.page-hero+.contact-grid{padding-top:36px}}
