/* Approved reference, 22 October 2026. Photographs remain images; all UI is semantic. */
:root {
  --surface-base:#0a0908; --surface-raised:#15100f; --surface-input:#100e0c;
  --text-primary:#ecd6b8; --text-secondary:#c5c0ba; --accent-gold:#c79559;
  --gold-bright:#edc58e; --border-subtle:#8f6d4a70;
  --display:'Cormorant Garamond',Georgia,serif; --body:'Manrope',sans-serif;
  --script:'Mrs Saint Delafield',cursive;
  --text-utility:13px;
  /* Stop design scaling at the approved reference width, including sprite offsets. */
  --site-width:1448px;
  --header-height:92px;
  --layout-vw:min(1vw,calc(var(--site-width) / 100));
  --ease:cubic-bezier(.22,1,.36,1);
  --gutter:clamp(24px,calc(4.5 * var(--layout-vw)),90px); --section-space:clamp(62px,calc(6 * var(--layout-vw)),96px);
  color-scheme:dark;
}
*,*::before,*::after { box-sizing:border-box; }
html { scroll-behavior:smooth; scroll-padding-top:35px; scrollbar-color:#755635 #0a0908; background:#050504; }
body { position:relative; width:100%; max-width:var(--site-width); margin:0 auto; background:var(--surface-base); color:var(--text-primary); font:400 18px/1.5 var(--display); -webkit-font-smoothing:antialiased; }
body:has(dialog[open]) { overflow:hidden; }
::selection { color:#100d09; background:var(--gold-bright); }
a { color:inherit; text-decoration:none; }
button,input,textarea,select { font:400 13px/1.5 var(--body); }
button { color:inherit; cursor:pointer; }
button:disabled { opacity:.6; cursor:wait; }
button,a,input,select,textarea { -webkit-tap-highlight-color:transparent; }
input,textarea { caret-color:var(--gold-bright); }
img { display:block; max-width:100%; height:auto; }
figure,blockquote { margin:0; }
h1,h2,h3,h4,p,ul { margin-top:0; }
h1,h2,h3,h4 { font:400 1em/.98 var(--display); letter-spacing:-.035em; text-wrap:balance; }
h1 { font-size:clamp(60px,calc(6.4 * var(--layout-vw)),96px); }
h2 { font-size:clamp(40px,calc(4 * var(--layout-vw)),64px); }
h3 { font-size:30px; }
p { margin-bottom:1.2em; }
em { font-weight:400; color:var(--accent-gold); }
:focus-visible { outline:2px solid var(--gold-bright); outline-offset:5px; }
.icon { display:inline-block; vertical-align:middle; flex:0 0 auto; }
.section { padding:var(--section-space) var(--gutter); }
.eyebrow { font:400 var(--text-utility)/1.5 var(--body); text-transform:uppercase; letter-spacing:.18em; color:#c19a77; margin-bottom:16px; }
.lede { font-size:clamp(23px,calc(2.3 * var(--layout-vw)),32px); line-height:1.3; }
.signature { font:400 38px/1.1 var(--script); color:var(--accent-gold); }
.content-note,.contact-note { font:400 var(--text-utility)/1.7 var(--body); color:var(--text-secondary); }
.button { display:inline-flex; justify-content:space-between; align-items:center; gap:30px; min-height:44px; border:1px solid var(--accent-gold); border-radius:100px; background:var(--accent-gold); color:#15100b; padding:10px 23px; font:500 var(--text-utility)/1.5 var(--body); letter-spacing:.06em; text-transform:uppercase; transition:background .25s ease,color .25s ease; }
.button--outline { color:var(--text-primary); background:transparent; }
.button:hover { background:var(--gold-bright); color:#16100a; }
.text-link { display:inline-flex; align-items:center; gap:26px; min-height:44px; padding:7px 0; border-bottom:1px solid var(--border-subtle); font:500 var(--text-utility)/1.5 var(--body); text-transform:uppercase; letter-spacing:.15em; color:var(--gold-bright); }
.text-link:hover { color:#fff0d8; }
.text-link .icon,.button .icon { transition:transform .25s var(--ease); }
.text-link:is(:hover,:focus-visible) .icon,.button:is(:hover,:focus-visible) .icon { transform:translateX(4px); }
button:is(:hover,:focus-visible) { color:var(--gold-bright); }
.hero-step:active,.search-toggle:active,.menu-toggle:active { background:#c795592b; }
.skip-link { position:fixed; left:16px; top:-100px; padding:12px 20px; background:var(--gold-bright); color:#000; z-index:1000; font-family:var(--body); }
.skip-link:focus { top:12px; }
.site-header { position:relative; z-index:50; display:flex; align-items:center; gap:35px; height:var(--header-height); padding:12px calc(6.2 * var(--layout-vw)); border-bottom:1px solid #6d503333; }
body[data-page="home"] .site-header { position:absolute; inset:0 0 auto; border:0; }
.brand { flex-shrink:0; font:400 clamp(27px,calc(2.45 * var(--layout-vw)),38px)/1 var(--display); color:#e3b780; white-space:nowrap; letter-spacing:-.045em; }
.site-header .brand--logo { display:flex; align-items:center; width:210px; min-height:44px; line-height:0; }
.site-header .brand--logo img { width:100%; height:auto; }
.nav { flex:1; display:flex; align-items:center; justify-content:center; gap:clamp(22px,calc(2.8 * var(--layout-vw)),43px); }
.nav a { position:relative; white-space:nowrap; font-size:16px; padding:10px 0; color:#e4dfd6; }
.nav a::after { content:''; position:absolute; bottom:4px; left:0; right:0; height:1px; background:var(--accent-gold); transform:scaleX(0); transform-origin:left; transition:transform .25s var(--ease); }
.nav a:hover::after,.nav a[aria-current]::after { transform:scaleX(1); }
.nav a:hover,.nav a[aria-current] { color:var(--gold-bright); }
.header-actions { display:flex; align-items:center; gap:18px; }
.search-toggle { display:grid; place-items:center; width:44px; min-height:44px; border:0; padding:0; background:transparent; color:var(--text-primary); }
.header-cta { white-space:nowrap; display:inline-flex; align-items:center; justify-content:space-between; gap:21px; min-height:44px; padding:8px 23px; border:1px solid var(--accent-gold); border-radius:100px; font-size:15px; }
.header-cta:hover { background:#c795591a; }
.menu-toggle { display:none; align-items:center; justify-content:center; gap:10px; padding:9px 12px; min-height:44px; border:1px solid var(--border-subtle); border-radius:24px; background:#0a0908cc; }
.hero { position:relative; isolation:isolate; height:clamp(600px,calc(44.2 * var(--layout-vw)),640px); overflow:hidden; background:#080707; }
.hero-media,.hero-art-scene,.hero-media img,.hero-paint,.hero-shade { position:absolute; inset:0; width:100%; height:100%; }
.hero-media { z-index:-3; }
.hero-media img { object-fit:cover; max-width:none; }
.hero-paint { display:none; pointer-events:none; }
.hero-paint-controls { display:none; align-items:center; margin-left:12px; padding-left:14px; border-left:1px solid #7a665166; }
.hero-paint-controls button { min-height:44px; padding:8px 0; border:0; background:transparent; color:#bdb3a2; font:400 11px/1.5 var(--body); letter-spacing:.06em; }
.hero-paint-controls [hidden] { display:none; }
@media (prefers-reduced-motion:no-preference) {
  .hero-paint[data-paint-state="painting"],.hero-paint[data-paint-state="complete"] { display:block; }
  .hero-paint-controls:not([hidden]) { display:inline-flex; }
}
.hero-shade { z-index:-2; background:linear-gradient(90deg,#0606058f 0%,#0606054d 24%,transparent 45%),linear-gradient(180deg,#0404034d,transparent 30%,transparent 75%,#06060555); }
.hero-copy { position:absolute; left:calc(6.2 * var(--layout-vw)); top:24%; width:410px; max-width:calc(43 * var(--layout-vw)); }
.hero-kicker { font:400 var(--text-utility)/1.6 var(--body); color:#e0dcd5; text-transform:uppercase; letter-spacing:.16em; margin:0 0 11px; }
.hero-kicker span { margin-inline:10px; }
.hero h1 { margin:0 0 18px; font-size:clamp(76px,calc(6.65 * var(--layout-vw)),108px); line-height:.8; letter-spacing:-.04em; color:#f0d3ac; }
.hero h1 [data-hero-line] { display:block; white-space:nowrap; }
.hero h1 { position:relative; }
.hero h1::before { content:''; position:absolute; width:105px; height:58px; border:1px solid #c79559b8; border-right:0; border-bottom:0; border-radius:60% 0 0 40%; left:-58px; top:67px; transform:rotate(-24deg); pointer-events:none; }
.hero-intro { font-size:clamp(17px,calc(1.26 * var(--layout-vw)),21px); line-height:1.4; color:#e1dcd2; margin-bottom:20px; }
.hero .button { min-height:44px; font-size:var(--text-utility); padding:9px 22px; gap:18px; }
.hero-controls { position:absolute; bottom:30px; left:calc(6.2 * var(--layout-vw)); display:flex; align-items:center; gap:8px; }
.hero-tabs { display:flex; align-items:center; gap:8px; margin-right:8px; }
.hero-tabs button { display:flex; align-items:center; gap:8px; background:transparent; border:0; padding:12px 0; min-height:44px; min-width:44px; color:#bdb3a2; font-size:var(--text-utility); }
.hero-tabs i { height:1px; width:20px; background:#7a6651; transition:width .4s var(--ease),background .3s ease; }
.hero-tabs [aria-selected="true"] { color:var(--gold-bright); }
.hero-tabs [aria-selected="true"] i { width:48px; background:var(--gold-bright); }
.hero-step { display:grid; place-items:center; height:44px; width:44px; border:0; background:transparent; color:#e5d2b2; }
.hero-step .icon { width:17px; }
/* Finite light and line accents accompany the homepage arrival. No content is hidden. */
@media (prefers-reduced-motion:no-preference) {
  body[data-home-motion="ready"] .hero-shade::after {
    content:''; position:absolute; inset:0; pointer-events:none;
    background:radial-gradient(ellipse at 62% 35%,#edc58e24,transparent 55%);
    animation:home-light-arrival 4.6s var(--ease) both;
  }
  body[data-home-motion="ready"] .hero-controls::after {
    content:''; position:absolute; bottom:-5px; left:0; right:0; height:1px;
    background:linear-gradient(90deg,var(--accent-gold),#c7955922);
    transform-origin:left; pointer-events:none;
    animation:home-line-arrival 1.2s var(--ease) .45s both;
  }
}
@keyframes home-light-arrival {
  0% { opacity:0; transform:translateX(-10%); }
  28% { opacity:1; }
  100% { opacity:0; transform:translateX(8%); }
}
@keyframes home-line-arrival { from { transform:scaleX(0); opacity:.2; } to { transform:scaleX(1); opacity:1; } }
.discover { position:relative; padding:80px calc(3.65 * var(--layout-vw)) 88px; background:#0d0b0a; }
.discover-heading { margin-bottom:32px; }
.discover-heading h2 { font-size:clamp(36px,calc(3.5 * var(--layout-vw)),56px); letter-spacing:-.035em; margin:0; line-height:1.04; }
.discipline-grid { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:16px; }
.discipline-card { min-width:0; display:block; position:relative; overflow:hidden; border:1px solid #7c565f88; background:#100d0c; transition:border-color .3s ease; }
.discipline-card:hover { border-color:#d4a369; }
.reference-crop { position:relative; overflow:hidden; aspect-ratio:var(--crop-width)/var(--crop-height); }
.reference-crop img { position:absolute; width:calc(1448 / var(--crop-width) * 100%); max-width:none; height:auto; left:calc(var(--crop-x) / var(--crop-width) * -100%); top:calc(var(--crop-y) / var(--crop-height) * -100%); }
.reference-crop.cms-image-replaced img { inset:0; width:100%; height:100%; object-fit:cover; }
@media (prefers-reduced-motion:no-preference) and (hover:hover) and (pointer:fine) {
  body[data-home-motion="ready"] .discipline-card .reference-crop::after {
    content:''; position:absolute; inset:0; pointer-events:none;
    background:linear-gradient(110deg,transparent 28%,#edc58e26 50%,transparent 72%);
    opacity:0; transform:translateX(-110%);
    transition:transform .75s var(--ease),opacity .25s ease;
  }
  body[data-home-motion="ready"] .discipline-card:hover .reference-crop::after {
    opacity:1; transform:translateX(110%);
  }
}
.cms-preview-notice { position:fixed; z-index:100; bottom:12px; left:12px; right:12px; width:fit-content; max-width:calc(100% - 24px); padding:12px 18px; background:#ecd6b8; color:#15100f; border:1px solid #c79559; font:500 14px/1.5 var(--body); }
.cms-preview-notice a { display:inline-block; min-height:44px; padding:10px; text-decoration:underline; }
.reference-crop--kunst { --crop-x:54; --crop-y:629; --crop-width:258; --crop-height:148; }
.reference-crop--massage { --crop-x:328; --crop-y:629; --crop-width:255; --crop-height:148; }
.reference-crop--palm { --crop-x:599; --crop-y:629; --crop-width:255; --crop-height:148; }
.reference-crop--reiki { --crop-x:871; --crop-y:629; --crop-width:253; --crop-height:148; }
.reference-crop--window { --crop-x:1142; --crop-y:629; --crop-width:253; --crop-height:148; }
.discipline-card__copy { position:relative; padding:18px 20px 20px; min-height:108px; }
.discipline-card h3 { font-size:24px; margin:0 0 4px; line-height:1; }
.discipline-card p { color:var(--text-secondary); font-size:17px; line-height:1.4; margin:0; padding-right:28px; }
.round-arrow { position:absolute; right:17px; top:30px; width:32px; height:32px; display:grid; place-items:center; border:1px solid var(--accent-gold); border-radius:50%; color:var(--gold-bright); transition:background .3s ease; }
.round-arrow .icon { width:17px; }
.discipline-card:hover .round-arrow { background:#c7955920; }
.discipline-card--featured { grid-column:1/-1; display:grid; grid-template-columns:1.1fr 1fr; align-items:center; }
.discipline-card--featured .reference-crop { align-self:start; }
.discipline-card--featured .discipline-card__copy { padding:clamp(28px,calc(3 * var(--layout-vw)),44px); }
.discipline-card--featured h3 { font-size:clamp(40px,calc(3.7 * var(--layout-vw)),54px); line-height:1.04; margin-bottom:20px; }
.discipline-card--featured p:not(.eyebrow) { font-size:21px; line-height:1.5; max-width:36ch; padding:0; }
.discipline-card--featured .eyebrow { font:400 var(--text-utility)/1.5 var(--body); color:var(--accent-gold); margin:0 0 16px; padding:0; }
.discipline-card--featured .text-link { margin-top:20px; }
.discipline-intro { grid-column:1/-1; margin:36px 0 8px; color:var(--text-secondary); font-size:21px; line-height:1.5; }
.home-about { position:relative; isolation:isolate; display:grid; grid-template-columns:minmax(0,.8fr) minmax(0,1.2fr); align-items:center; gap:clamp(40px,calc(7 * var(--layout-vw)),100px); padding:96px var(--gutter) 104px; overflow:hidden; background:var(--surface-base); }
.reference-crop--portrait { --crop-x:0; --crop-y:873; --crop-width:350; --crop-height:213; aspect-ratio:350/213; mask-image:linear-gradient(#000 92%,transparent); }
.reference-crop--portrait img { width:calc(1448 / 350 * 100%); top:calc(-873 / 213 * 100%); left:0; }
.home-about__content { min-width:0; max-width:620px; }
.home-about__title { padding:0; }
.home-about .eyebrow { color:var(--accent-gold); font-size:var(--text-utility); letter-spacing:.14em; margin:0 0 18px; }
.home-about h2 { font-size:clamp(44px,calc(3.9 * var(--layout-vw)),57px); line-height:1.08; margin:0; }
.home-about__copy { padding:26px 0 0; }
.home-about__copy p { color:var(--text-secondary); font-size:21px; line-height:1.55; max-width:42ch; margin:0 0 20px; }
.home-about__copy .text-link { min-height:44px; font-size:var(--text-utility); gap:16px; }
.closing { text-align:center; border-block:1px solid var(--border-subtle); background:#120e0c; }
.closing h2 { margin-bottom:22px; }
.closing > p:not(.eyebrow) { color:var(--text-secondary); }
.site-footer { padding:60px var(--gutter) 20px; background:#090807; }
body[data-page="home"] .site-footer { padding-top:88px; }
.footer-grid { display:grid; grid-template-columns:1.25fr 1fr 1.1fr; gap:70px; }
.footer-brand .brand { display:inline-block; font-size:34px; margin-bottom:18px; }
.footer-brand p,.footer-contact p { color:var(--text-secondary); }
.footer-brand .signature { font-size:29px; color:var(--accent-gold); }
.footer-explore nav { display:grid; grid-template-columns:1fr 1fr; gap:6px 20px; }
.footer-explore nav a { color:var(--text-secondary); }
.footer-explore nav a:hover { color:var(--gold-bright); }
.footer-email { display:flex; align-items:center; gap:12px; flex-wrap:wrap; overflow-wrap:anywhere; }
.footer-bottom { display:flex; gap:24px; align-items:center; justify-content:space-between; padding-top:20px; margin-top:35px; color:var(--text-secondary); font:400 var(--text-utility)/1.6 var(--body); }
.footer-bottom a { display:inline-flex; align-items:center; min-height:44px; }
.site-search { position:fixed; width:min(680px,calc(100% - 36px)); max-height:85svh; padding:44px; border:1px solid var(--accent-gold); background:#100d0b; color:var(--text-primary); }
dialog::backdrop { background:#030302d9; }
.site-search h2 { font-size:48px; margin-bottom:28px; }
.dialog-close { position:absolute; top:12px; right:12px; display:grid; place-items:center; width:44px; height:44px; background:transparent; border:1px solid var(--border-subtle); border-radius:50%; }
.site-search label { font:400 var(--text-utility)/1.5 var(--body); display:block; margin-bottom:10px; }
.search-field { display:flex; align-items:center; gap:14px; border-bottom:1px solid var(--accent-gold); }
.search-field input { width:100%; padding:14px 0; min-height:48px; border:0; outline-offset:3px; background:transparent; color:var(--text-primary); }
.search-field input::placeholder { color:#b8afa2; }
.search-status { margin-top:20px; font:400 var(--text-utility)/1.6 var(--body); color:var(--text-secondary); }
.search-results { display:grid; }
.search-results a { display:flex; justify-content:space-between; align-items:center; gap:20px; padding:14px 0; border-bottom:1px solid var(--border-subtle); font-size:23px; }
.reveal,[data-reveal] { opacity:1; }
@media (prefers-reduced-motion:no-preference) {
  dialog[open] { animation:dialog-enter .4s var(--ease) both; }
  .nav--open { animation:dialog-enter .3s var(--ease) both; }
}
@keyframes dialog-enter { from { opacity:.3; transform:translateY(14px); } to { opacity:1; transform:translateY(0); } }
@view-transition { navigation:auto; }
::view-transition-old(root) { animation:route-out .25s ease both; }
::view-transition-new(root) { animation:route-in .45s var(--ease) both; }
@keyframes route-out { to { opacity:0; transform:translateY(-8px); } }
@keyframes route-in { from { opacity:0; transform:translateY(12px); } }
@media (max-width:1200px) {
  .site-header .brand--logo { width:180px; }
  .site-header { gap:24px; padding-inline:calc(4 * var(--layout-vw)); }
  .brand { font-size:29px; }
  .nav { gap:20px; }
  .header-actions { gap:12px; }
  .header-cta { padding-inline:18px; font-size:14px; }
  .discipline-card__copy { padding-inline:12px; }
  .discipline-card h3 { font-size:23px; }
  .discipline-card p { font-size:15px; }
  .round-arrow { right:10px; width:28px; height:28px; }
}
@media (max-width:1000px) {
  .site-header { padding-inline:var(--gutter); }
  .header-actions { margin-left:auto; }
  .menu-toggle { display:flex; }
  .nav { display:none; position:absolute; left:0; right:0; top:100%; flex-direction:column; gap:0; padding:20px var(--gutter); background:#0c0a09fa; border-bottom:1px solid var(--accent-gold); max-height:calc(100svh - var(--header-height)); overflow:auto; }
  .nav--open { display:flex; align-items:stretch; }
  .nav a { font-size:24px; padding:13px 0; border-bottom:1px solid #7c5f3e55; }
  .nav a::after { display:none; }
  .hero { height:620px; }
  .hero-copy { left:var(--gutter); top:25%; max-width:calc(49 * var(--layout-vw)); }
  .hero-shade { background:linear-gradient(90deg,#080706f5 0%,#080706e8 30%,#080706bf 44%,#08070633 62%,transparent 76%),linear-gradient(180deg,#04040366,transparent 30%,transparent 75%,#06060599); }
  .hero h1 { font-size:79px; }
  .hero-intro { font-size:18px; }
  .hero-art-scene { width:135%; left:-23%; }
  .hero-controls { left:var(--gutter); }
  .discover-heading h2 { font-size:42px; }
  .discipline-grid { grid-template-columns:repeat(2,minmax(0,1fr)); gap:14px; }
  .discipline-card--featured { grid-template-columns:1fr 1fr; }
  .discipline-card--featured .reference-crop { align-self:center; }
  .discipline-card--featured .discipline-card__copy { padding:28px; }
  .discipline-card--featured h3 { font-size:42px; }
  .discipline-card--featured p:not(.eyebrow) { font-size:19px; }
  .discipline-card__copy { min-height:90px; padding:12px; }
  .home-about { grid-template-columns:minmax(0,.8fr) minmax(0,1.2fr); gap:40px; padding-block:72px; }
  .home-about h2 { font-size:44px; }
  .reference-crop--portrait { aspect-ratio:350/213; min-height:0; align-self:center; }
  .reference-crop--portrait img { top:calc(-873 / 213 * 100%); }
  .footer-grid { gap:40px; grid-template-columns:1fr 1fr; }
  .footer-contact { grid-column:1/-1; }
}
@media (max-width:700px) {
  .site-header .brand--logo { width:174px; }
  :root { --gutter:24px; --section-space:60px; --header-height:88px; }
  body { font-size:18px; }
  .site-header { gap:15px; padding-inline:24px; }
  .brand { font-size:29px; }
  .header-actions { gap:9px; }
  .header-cta { display:none; }
  .menu-toggle { padding:8px 11px; }
  .menu-toggle > span { display:none; }
  .search-toggle { width:44px; }
  .hero { height:auto; min-height:0; max-height:none; padding:350px 24px 26px; }
  .hero-media { top:0; height:410px; }
  .hero-art-scene { left:-62%; top:0; width:195%; }
  .hero-shade { background:linear-gradient(180deg,#08070633 0,transparent 180px,#090807dd 340px,#090807 410px); }
  .hero-copy { position:relative; inset:auto; width:100%; max-width:none; }
  .hero-kicker { font-size:var(--text-utility); margin-bottom:13px; letter-spacing:.12em; }
  .hero-kicker span { margin-inline:8px; }
  .hero h1 { font-size:clamp(65px,calc(18 * var(--layout-vw)),104px); margin-bottom:20px; }
  .hero h1::before { display:none; }
  .hero-intro { font-size:18px; max-width:360px; margin-bottom:22px; }
  .hero-intro br { display:none; }
  .hero .button { padding:12px 20px; min-height:45px; font-size:var(--text-utility); }
  .hero-controls { position:relative; inset:auto; margin-top:22px; flex-wrap:wrap; }
  .hero-paint-controls { flex-basis:100%; margin-left:0; padding-left:0; border-left:0; margin-top:-3px; }
  .hero-tabs [aria-selected="true"] i { width:32px; }
  .discover { padding:44px 24px 64px; }
  .discover-heading { margin-bottom:24px; }
  .discover-heading h2 { font-size:39px; }
  .discipline-grid { grid-template-columns:repeat(2,minmax(0,1fr)); gap:13px; }
  .discipline-card--featured { grid-template-columns:1fr; }
  .discipline-card--featured .discipline-card__copy { padding:24px; }
  .discipline-card.discipline-card--featured h3 { font-size:40px; }
  .discipline-intro { font-size:19px; margin:24px 0 8px; }
  .discipline-card__copy { min-height:100px; padding:11px 10px 15px; }
  .discipline-card h3 { font-size:25px; }
  .discipline-card p { font-size:17px; padding-right:0; line-height:1.4; }
  .discipline-card p br { display:none; }
  .round-arrow { position:static; margin-top:12px; width:29px; height:29px; }
  .home-about { grid-template-columns:1fr; gap:32px; padding-block:56px 64px; }
  .home-about__portrait { min-height:0; aspect-ratio:350/213; mask-image:none; }
  .reference-crop--portrait img { width:calc(1448 / 350 * 100%); left:0; top:calc(-873 / 213 * 100%); }
  .home-about__title { padding:0; }
  .home-about h2 { font-size:42px; }
  .home-about__copy { padding:24px 0 0; }
  .home-about__copy p { font-size:19px; line-height:1.5; }
  .site-footer { padding:45px 24px 24px; }
  body[data-page="home"] .site-footer { padding-top:64px; }
  .footer-grid { grid-template-columns:1fr; gap:30px; }
  .footer-brand .brand { font-size:34px; }
  .footer-contact { grid-column:auto; }
  .footer-bottom { flex-wrap:wrap; gap:15px 24px; margin-top:30px; }
  .site-search { padding:50px 24px 30px; }
  .site-search h2 { font-size:39px; }
}
@media (max-width:360px) {
  .site-header .brand--logo { width:150px; }
  .site-header { padding-inline:20px; gap:8px; }
  .brand { font-size:25px; }
  .hero { padding:310px 20px 24px; }
  .hero-media { height:370px; }
  .hero-shade { background:linear-gradient(180deg,#08070633 0,transparent 160px,#090807dd 300px,#090807 370px); }
  .hero h1 { font-size:calc(17.4 * var(--layout-vw)); }
  .hero-kicker { font-size:var(--text-utility); letter-spacing:.05em; }
  .hero-intro { font-size:17px; }
  .hero .button { gap:14px; padding-inline:16px; letter-spacing:0; }
  .discipline-card h3 { font-size:23px; }
  .discipline-card p { font-size:14px; }
  .home-about h2 { font-size:38px; }
}
@media (prefers-reduced-motion:reduce) {
  html { scroll-behavior:auto; }
  *,*::before,*::after { animation-duration:.001ms !important; animation-iteration-count:1 !important; transition-duration:.001ms !important; }
  .hero-tabs i { transition:none !important; }
  ::view-transition-old(root),::view-transition-new(root) { animation:none !important; }
}
