@font-face{font-family:Newsreader;src:url('assets/fonts/newsreader-latin.woff2') format('woff2');font-weight:200 800;font-style:normal;font-display:swap}
@font-face{font-family:Newsreader;src:url('assets/fonts/newsreader-italic-latin.woff2') format('woff2');font-weight:200 800;font-style:italic;font-display:swap}
@font-face{font-family:'DM Sans';src:url('assets/fonts/dm-sans-latin.woff2') format('woff2');font-weight:100 1000;font-style:normal;font-display:swap}

:root{
  --paper:#f5f3ec;--pale-paper:#eeeee5;--contact-paper:#e1e6d9;--ink:#293529;--secondary-ink:#5b6456;--rule:#c7cbbd;--chalk:#f7f5ee;--focus:#76613c;
  --serif:Newsreader,Georgia,serif;--sans:'DM Sans',Arial,sans-serif;
  --gutter:clamp(24px,5vw,72px);--section-space:clamp(80px,9vw,136px);
  --stagger-dur:500ms;--stagger-distance:12px;--stagger-stagger:40ms;--stagger-blur:3px;--stagger-ease:cubic-bezier(0.22,1,0.36,1);
  --learn-shift:2px;--learn-spread:8deg;--learn-in:350ms;--learn-out:350ms;--learn-ease:cubic-bezier(0.22,1,0.36,1);
}
*{box-sizing:border-box}
html{scroll-behavior:smooth;scroll-padding-top:32px;scrollbar-color:var(--secondary-ink) var(--paper)}
body{margin:0;background:var(--paper);color:var(--ink);font-family:var(--sans);font-size:16px;font-weight:400;line-height:1.65;-webkit-font-smoothing:antialiased}
::selection{background:var(--ink);color:var(--chalk)}
a{color:inherit;text-decoration:none;text-underline-offset:5px;cursor:pointer}
a:focus-visible{outline:2px solid var(--focus);outline-offset:6px}
svg{fill:none;stroke:currentColor;stroke-width:1.2;stroke-linecap:square;stroke-linejoin:miter}
p,h1,h2,h3,figure{margin:0}
h1,h2,h3{font-family:var(--serif);font-weight:400;line-height:1.06;letter-spacing:-.035em;text-wrap:balance}
em{font-weight:400}
.wrap{width:min(100%,1440px);padding-inline:var(--gutter);margin-inline:auto}
.skip-link{position:fixed;top:12px;left:12px;z-index:100;background:var(--ink);color:var(--chalk);padding:10px 18px;transform:translateY(-160%)}
.skip-link:focus{transform:translateY(0)}
.site-header{display:flex;align-items:center;justify-content:space-between;min-height:122px;gap:32px}
.brand{display:inline-flex;align-items:center;gap:13px;line-height:1;min-height:44px}
.brand-name{font-family:var(--serif);font-size:57px;font-weight:500;letter-spacing:-.04em;line-height:.9}
.brand-period{margin-left:1px}
.brand-capital{font-size:10px;text-transform:uppercase;letter-spacing:.19em;padding-top:8px}
.site-header nav{display:flex;gap:36px;align-items:center}
.site-header nav a{display:flex;align-items:center;justify-content:center;gap:9px;min-height:44px;min-width:44px;font-size:13px}
.site-header nav a:hover{text-decoration:underline}
.nav-arrow{width:16px;height:16px}
.hero{padding-top:92px;padding-bottom:70px}
.hero h1{font-size:clamp(64px,7.1vw,96px);max-width:1080px;line-height:1.07;letter-spacing:-.04em}
.hero h1 em{white-space:nowrap}
.hero-bottom{display:grid;grid-template-columns:1fr 1fr;gap:72px;align-items:end;margin-top:64px}
.hero-place{font-size:12px;line-height:1.7;color:var(--secondary-ink)}
.hero-intro{max-width:430px;justify-self:end}
.hero-intro>p{font-size:18px;line-height:1.65;letter-spacing:-.015em}
.text-link{display:inline-flex;gap:17px;align-items:center;font-size:13px;min-height:44px;margin-top:20px;border-bottom:1px solid var(--ink)}
.text-link svg{height:18px;width:18px}
.landscape-frame{aspect-ratio:2.4;overflow:hidden;background:var(--pale-paper)}
.landscape img{display:block;width:100%;height:100%;object-fit:cover}
.landscape figcaption{display:flex;justify-content:space-between;gap:24px;margin-top:13px;color:var(--secondary-ink);font-size:10px;letter-spacing:.03em}
.landscape figcaption span:last-child{text-transform:uppercase;letter-spacing:.13em}
.section{padding-top:var(--section-space);padding-bottom:var(--section-space);scroll-margin-top:24px}
.section-opening{display:grid;grid-template-columns:1fr 1fr;gap:72px;align-items:start}
h2{font-size:clamp(40px,4.1vw,58px);line-height:1.12}
.section-opening>p{padding-top:3px;font-size:16px;max-width:480px;justify-self:end;color:var(--secondary-ink)}
.approach-list{margin-top:75px;margin-left:25%;border-bottom:1px solid var(--rule)}
.approach-row{display:grid;grid-template-columns:.9fr 1.3fr;gap:52px;padding-block:35px;border-top:1px solid var(--rule)}
.approach-row h3{font-size:29px;line-height:1.12;letter-spacing:-.02em}
.approach-row p{font-size:14px;line-height:1.8;color:var(--secondary-ink);max-width:490px}
.about{background:var(--pale-paper)}
.about-grid{display:grid;grid-template-columns:1fr 1fr;gap:72px}
.about-heading h2{max-width:540px}
.founder-profile{max-width:480px;justify-self:end}
.founder-name{padding-bottom:29px;border-bottom:1px solid var(--rule);margin-bottom:28px}
.founder-name h3{font-size:35px;letter-spacing:-.025em}
.founder-name p{font-size:12px;color:var(--secondary-ink);margin-top:10px}
.founder-profile>p{font-size:14px;line-height:1.85;color:var(--secondary-ink);margin-top:20px}
.credentials{padding:0;margin:37px 0 0}
.credentials>div{display:grid;grid-template-columns:1fr 1.3fr;gap:28px;padding-top:18px;margin-top:18px;border-top:1px solid var(--rule);font-size:12px;line-height:1.7}
.credentials dt{color:var(--secondary-ink)}
.credentials dd{margin:0}
.contact{background:var(--contact-paper);color:var(--ink);padding-top:100px;scroll-margin-top:0}
.contact-grid{display:grid;grid-template-columns:1.2fr 1fr;gap:72px;align-items:end;padding-bottom:94px}
.contact h2{font-size:clamp(40px,4.1vw,58px)}
.contact-details{justify-self:end;padding-bottom:5px;max-width:400px}
.contact-details>p{font-size:13px;color:var(--secondary-ink)}
.contact-email{display:flex;gap:35px;align-items:center;padding-block:17px 10px;border-bottom:1px solid var(--secondary-ink);font-size:18px;letter-spacing:-.015em}
.contact-email svg{width:22px;height:22px;flex-shrink:0}
.contact-email:hover{border-color:var(--ink)}
.site-footer{display:grid;grid-template-columns:1fr 1fr 1fr;align-items:center;gap:32px;position:relative;padding-top:35px;padding-bottom:35px}
.site-footer::before{content:"";position:absolute;top:0;left:var(--gutter);right:var(--gutter);border-top:1px solid #b8c1ad}
.brand-footer .brand-name{font-size:44px}
.brand-footer .brand-capital{font-size:8px;letter-spacing:.16em;padding-top:6px}
.site-footer>p{font-size:10px;color:var(--secondary-ink);justify-self:center}
.site-footer>p:last-child{justify-self:end}

/* transitions.dev: one initial text entrance, with a visible HTML default. */
.t-stagger-line {
  display: block;
  opacity: 0;
  transform: translateY(var(--stagger-distance));
  filter: blur(var(--stagger-blur));
  transition:
    opacity   var(--stagger-dur) var(--stagger-ease),
    transform var(--stagger-dur) var(--stagger-ease),
    filter    var(--stagger-dur) var(--stagger-ease);
  will-change: transform, opacity, filter;
}
.t-stagger-line--2 { transition-delay: var(--stagger-stagger); }
.t-stagger.is-shown .t-stagger-line {
  opacity: 1;
  transform: translateY(0);
  filter: blur(0);
}
.t-stagger.is-hiding .t-stagger-line {
  opacity: 0;
  transform: translateY(0);
  filter: blur(0);
  transition:
    opacity 200ms ease,
    transform 0s linear,
    filter 0s linear;
  transition-delay: 0s;
}
.t-learn-chevron {
  display: inline-flex;
  transform: translateX(0);
  transition: transform var(--learn-out) var(--learn-ease);
}
.t-learn-arm {
  transform-box: view-box;
  transform-origin: 10px 8px;
  vector-effect: non-scaling-stroke;
  transition: transform var(--learn-out) var(--learn-ease);
}
.t-learn:hover .t-learn-chevron { transform: translateX(var(--learn-shift)); transition-duration: var(--learn-in); }
.t-learn:hover .t-learn-arm { transition-duration: var(--learn-in); }
.t-learn:hover .t-learn-arm-top { transform: rotate(var(--learn-spread)); }
.t-learn:hover .t-learn-arm-bot { transform: rotate(calc(var(--learn-spread) * -1)); }

@media(min-width:1440px){.hero{padding-top:109px;padding-bottom:78px}.hero-bottom{margin-top:78px}}
@media(max-width:1000px){
  .site-header{min-height:104px}.hero{padding-top:70px}.hero h1{font-size:clamp(59px,7.6vw,78px)}
  .hero-bottom,.section-opening,.about-grid,.contact-grid{gap:45px}.hero-intro>p{font-size:16px}
  .approach-list{margin-left:14%}.approach-row{gap:32px}.approach-row h3{font-size:27px}
  .contact-email{font-size:16px;gap:18px}.credentials>div{gap:16px}
}
@media(max-width:700px){
  html{scroll-padding-top:20px}
  .site-header{min-height:96px;gap:20px}.brand{gap:8px}.brand-name{font-size:43px}.brand-capital{font-size:8px;letter-spacing:.14em;padding-top:5px}
  .site-header nav{gap:12px}.site-header nav a{font-size:12px}.nav-arrow{display:none}
  .hero{padding-top:61px;padding-bottom:44px}.hero h1{font-size:clamp(45px,8.1vw,58px);line-height:1.08;letter-spacing:-.035em}
  .hero h1 em{white-space:normal}.hero-bottom{grid-template-columns:1fr;margin-top:35px;gap:25px}.hero-place{font-size:10px;line-height:1.65;order:2}.hero-intro{justify-self:start;max-width:400px}.hero-intro>p{font-size:16px;line-height:1.65}.text-link{margin-top:14px;font-size:12px;gap:15px}
  .landscape-frame{aspect-ratio:1.5}.landscape figcaption{font-size:9px;gap:12px;margin-top:11px}.landscape figcaption span:last-child{display:none}
  .section-opening{grid-template-columns:1fr;gap:25px}h2{font-size:39px;line-height:1.13}.section-opening>p{justify-self:start;font-size:15px;max-width:530px}
  .approach-list{margin-left:0;margin-top:42px}.approach-row{grid-template-columns:1fr;gap:17px;padding-block:26px}.approach-row h3{font-size:27px;line-height:1.15}.approach-row h3 br{display:none}.approach-row p{font-size:14px;line-height:1.8;max-width:520px}
  .about-grid{grid-template-columns:1fr;gap:42px}.about-heading h2{font-size:40px;max-width:470px}.founder-profile{justify-self:start;max-width:100%}.founder-name{padding-bottom:24px;margin-bottom:24px}.founder-name h3{font-size:32px}.founder-profile>p{font-size:14px}.credentials>div{grid-template-columns:1fr 1.3fr;font-size:12px;gap:24px}
  .contact{padding-top:70px}.contact-grid{grid-template-columns:1fr;gap:36px;padding-bottom:64px}.contact h2{font-size:40px}.contact-details{justify-self:start;max-width:100%}.contact-details>p{font-size:12px}.contact-email{font-size:17px;gap:25px;padding-block:15px 9px}
  .site-footer{grid-template-columns:1fr 1fr;gap:25px 16px;padding-block:29px}.brand-footer{grid-column:1 / -1}.brand-footer .brand-name{font-size:42px}.site-footer>p{justify-self:start;font-size:9px}.site-footer>p:last-child{justify-self:end}
}
@media(max-width:370px){.site-header{flex-wrap:wrap;gap:8px;padding-top:20px;padding-bottom:10px}.site-header nav{margin-left:auto;gap:20px}.hero{padding-top:38px}.hero h1{font-size:43px}.hero h1 .t-stagger-line{display:inline}.hero h1 .t-stagger-line--2::before{content:" "}.contact-email{font-size:15px;gap:16px}.credentials>div{grid-template-columns:1fr;gap:5px}}
@media (prefers-reduced-motion: reduce) {
  html{scroll-behavior:auto}
  .t-stagger-line { transition: none !important; }
  .t-learn-chevron, .t-learn-arm { transition: none !important; }
}
