@font-face{font-family:"DM Sans";src:url("assets/fonts/dm-sans-variable.woff2") format("woff2");font-weight:100 1000;font-style:normal;font-display:swap}

:root{--paper:#f6f4ef;--white:#fff;--ink:#252522;--muted:#65645e;--line:#d9d7cf;--brown:#8b6045;--tint:#ebe6dd;--radius:50px;--page:1440px}
*,*::before,*::after{box-sizing:border-box}
html{scroll-behavior:smooth;scroll-padding-top:32px}
body{margin:0;background:var(--paper);color:var(--ink);font-family:"DM Sans",Arial,sans-serif;-webkit-font-smoothing:antialiased}
body.modal-open{overflow:hidden}
button,input,textarea{font:inherit}
button,a{-webkit-tap-highlight-color:transparent}
button{color:inherit}
a{color:inherit;text-decoration:none}
img{display:block;width:100%;height:auto}
figure,h1,h2,h3,p{margin:0}
button{cursor:pointer}
button:disabled{cursor:default}
::selection{color:#fff;background:var(--brown)}
:focus-visible{outline:2px solid var(--brown);outline-offset:5px}
.page-width{width:min(var(--page),calc(100% - 96px));margin-inline:auto}
.skip-link{position:fixed;top:12px;left:16px;transform:translateY(-180%);z-index:100;padding:14px 20px;background:var(--ink);color:white;border-radius:5px}
.skip-link:focus{transform:translateY(0)}
.site-header{position:relative;z-index:20;background:var(--paper)}
.header-inner{min-height:112px;display:flex;align-items:center;justify-content:space-between;gap:35px}
.wordmark{display:inline-block;font-size:43px;font-weight:850;letter-spacing:-.075em;line-height:1;white-space:nowrap}
.brand-dot{color:var(--brown)}
.main-nav{display:flex;gap:32px;align-items:center}
.main-nav a{position:relative;font-size:14px;font-weight:500;padding:12px 0}
.main-nav a::after{content:"";position:absolute;height:1px;left:0;right:0;bottom:5px;background:var(--ink);transform:scaleX(0);transform-origin:left;transition:transform .2s}
.main-nav a:hover::after,.main-nav a[aria-current]::after{transform:scaleX(1)}
.header-location{font-size:11px;display:flex;align-items:center;gap:9px;color:var(--muted)}
.header-location>span{width:5px;height:5px;border-radius:50%;background:var(--brown)}
.menu-toggle{display:none;border:0;background:transparent;padding:12px;width:44px;height:44px}
.hero{display:grid;grid-template-columns:43% 57%;min-height:652px;padding-bottom:0}
.hero-copy{padding:52px 44px 28px 0;display:flex;flex-direction:column;align-items:flex-start}
.eyebrow,.section-label{font-size:11px;font-weight:550;letter-spacing:.105em;text-transform:uppercase;line-height:1.6}
.eyebrow{display:flex;align-items:center;gap:10px;color:var(--brown)}
.eyebrow>span{width:6px;height:6px;border-radius:50%;background:currentColor}
h1{font-size:clamp(60px,6.05vw,100px);font-weight:450;line-height:1.02;letter-spacing:-.065em;margin:41px 0 26px;max-width:610px}
em{font-style:normal;color:var(--brown)}
.hero-description{max-width:320px;font-size:15px;line-height:1.8;color:var(--muted)}
.button{display:inline-flex;align-items:center;justify-content:space-between;gap:31px;min-height:56px;border-radius:var(--radius);padding:8px 9px 8px 23px;font-size:13px;font-weight:500;transition:background .2s,transform .2s}
.button-dark{background:var(--ink);color:var(--white);margin-top:29px}
.button-dark:hover{background:#473a30;transform:translateY(-2px)}
.button-arrow{display:grid;place-items:center;flex:0 0 38px;height:38px;border-radius:50%;border:1px solid #ffffff44;font-size:21px;font-weight:350}
.hero-foot{display:flex;align-items:center;justify-content:space-between;gap:15px;width:100%;max-width:385px;margin-top:auto;padding-top:55px;font-size:10px;letter-spacing:.035em;color:var(--muted)}
.hero-foot>a{padding:8px}
.hero-visual{min-width:0;min-height:652px;position:relative;overflow:hidden;background:#d7c5ab}
.hero-visual picture{display:block;height:100%}
.hero-visual img{width:100%;height:100%;object-fit:cover;object-position:63% center}
.hero-visual figcaption{position:absolute;bottom:25px;left:27px;right:27px;display:flex;align-items:center;justify-content:space-between;color:white;text-shadow:0 1px 10px #251c1644;font-size:13px;line-height:1.35;font-weight:450;letter-spacing:-.015em}
.hero-visual .visual-mark{font-size:49px;font-weight:750;letter-spacing:-.08em}
.hero-visual figcaption>span:last-child{text-align:right}
.section-space{padding-top:112px;padding-bottom:112px}
.section-heading{display:flex;align-items:flex-end;justify-content:space-between;gap:30px;margin-bottom:41px}
.section-label{color:var(--brown);margin-bottom:22px}
h2{font-size:clamp(38px,4vw,61px);font-weight:430;line-height:1.08;letter-spacing:-.05em}
.section-intro{font-size:14px;color:var(--muted);line-height:1.75;padding-bottom:5px;padding-right:48px}
.category-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:19px}
.category-image{position:relative;display:block;background:#eeece7;overflow:hidden;isolation:isolate}
.category-image img{aspect-ratio:1;object-fit:cover;transition:transform .5s cubic-bezier(.2,.65,.3,1)}
.category-image:hover img,.category-image:focus-visible img{transform:scale(1.045)}
.category-index{position:absolute;top:17px;left:17px;font-size:10px;color:#5f5c55;letter-spacing:.1em}
.image-expand{position:absolute;bottom:15px;right:15px;display:grid;place-items:center;width:34px;height:34px;background:#fff9;border:1px solid #ffffff55;border-radius:50%;font-size:20px;transition:background .2s}
.category-image:hover .image-expand{background:#fff}
.category h3{font-size:17px;line-height:1.3;font-weight:500;letter-spacing:-.025em;margin:20px 0 7px}
.category p{font-size:12px;color:var(--muted);line-height:1.6}
.image-note{display:flex;align-items:flex-start;gap:10px;font-size:10px;line-height:1.65;color:var(--muted);margin-top:30px;max-width:750px}
.image-note>span{font-size:17px;line-height:1}
.about-section{background:var(--tint);padding:76px 0}
.about-grid{display:grid;grid-template-columns:46% 1fr;gap:11%;align-items:center}
.about-visual{position:relative}
.about-visual img{height:565px;object-fit:cover;object-position:center 57%}
.about-visual figcaption{font-size:10px;color:#62605a;letter-spacing:.02em;margin-top:13px}
.about-copy{padding:25px 28px 25px 0}
.about-copy h2{max-width:510px;margin-bottom:28px}
.about-copy>p:not(.section-label){font-size:15px;color:#5f5b53;line-height:1.9;max-width:450px}
.about-signature{display:flex;align-items:center;gap:20px;margin:31px 0 32px;font-size:19px;line-height:1.4;letter-spacing:-.025em}
.signature-line{width:40px;height:1px;background:var(--brown)}
.text-link{display:inline-flex;align-items:center;justify-content:space-between;gap:37px;font-size:12px;font-weight:500;border-bottom:1px solid #777063;padding-bottom:9px}
.text-link>span{font-size:20px;font-weight:350;transition:transform .2s}
.text-link:hover>span{transform:translate(2px,-2px)}
.values-heading{text-align:center;margin-bottom:57px}
.values-heading .section-label{margin-bottom:16px}
.values-heading>p:last-child{font-size:14px;color:var(--muted);margin-top:18px}
.values-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr))}
.value{padding:0 45px;border-left:1px solid var(--line)}
.value:first-child{border-left:0;padding-left:0}
.value:last-child{padding-right:0}
.value-top{display:flex;align-items:center;justify-content:space-between;margin-bottom:34px}
.value-top>span{font-size:11px;color:var(--brown)}
.value-top svg{width:42px;height:42px;color:var(--brown)}
.value h3{font-size:21px;font-weight:450;letter-spacing:-.035em;margin-bottom:12px}
.value p{max-width:280px;font-size:13px;line-height:1.8;color:var(--muted)}
.contact-section{background:#ded4c5;padding:80px 0 86px}
.contact-grid{display:grid;grid-template-columns:1fr 1fr;gap:13%}
.contact-copy{display:flex;flex-direction:column;align-items:flex-start}
.contact-copy .section-label{margin-bottom:24px}
.contact-copy h2{font-size:clamp(58px,7.8vw,112px);letter-spacing:-.065em;margin:0 0 24px;line-height:.95}
.contact-copy h2>span{color:var(--brown)}
.contact-copy>p:not(.section-label){max-width:290px;font-size:14px;line-height:1.8;color:#5c554c}
.contact-channels{width:100%;max-width:360px;margin-top:25px}
.contact-channels a{position:relative;display:block;padding:15px 32px 15px 0;border-bottom:1px solid #b7ab9b}
.contact-channels a>span:first-child{display:block;font-size:10px;color:#655d52;margin-bottom:7px}
.contact-channels strong{font-size:16px;font-weight:500;overflow-wrap:anywhere}
.contact-channels .channel-arrow{position:absolute;right:1px;bottom:16px;color:var(--brown);font-size:22px}
.contact-channels a:hover strong{text-decoration:underline;text-underline-offset:4px}
.contact-brand{display:flex;gap:24px;align-items:center;margin-top:auto;padding-top:44px;font-size:14px;letter-spacing:.035em;font-weight:650}
.contact-brand>span{font-size:24px;font-weight:350;color:var(--brown)}
.company-info h3{font-size:14px;font-weight:550;margin-bottom:25px}
.company-info dl{margin:0;border-top:1px solid #b7ab9b}
.company-info dl>div{display:grid;grid-template-columns:145px 1fr;gap:16px;border-bottom:1px solid #b7ab9b;padding:20px 0;font-size:13px;line-height:1.75}
.company-info dt{color:#655d52;font-size:11px}
.company-info dd{margin:0;font-weight:500}
.company-info address{font-style:normal}
.address-note{font-size:10px;line-height:1.75;color:#5d564e;max-width:400px;margin-top:20px}
.site-footer{padding:47px 0 26px}
.footer-top{display:flex;align-items:center;gap:50px;border-bottom:1px solid var(--line);padding-bottom:34px}
.footer-top .wordmark{font-size:38px}
.footer-top>p{font-size:13px;color:var(--muted)}
.back-top{font-size:11px;margin-left:auto;display:inline-flex;align-items:center;gap:28px}
.back-top>span{font-size:21px}
.footer-bottom{display:flex;align-items:center;justify-content:space-between;gap:25px;padding-top:24px;font-size:10px;color:var(--muted);line-height:1.8}
.privacy-link{text-decoration:underline;text-underline-offset:4px}
.privacy{margin-top:23px;max-width:850px;font-size:11px;color:var(--muted);line-height:1.8}
.privacy:not([open]){margin-top:0}
.js .privacy:not([open])>summary{display:none}
.privacy>summary{cursor:pointer;font-size:13px;color:var(--ink);padding:15px 0}
.privacy>div{border-top:1px solid var(--line);padding:18px 0 2px}
.privacy p+p{margin-top:12px}
.image-dialog{position:fixed;inset:0;width:min(860px,calc(100% - 48px));max-height:calc(100dvh - 48px);overflow:auto;padding:0;border:0;background:var(--paper);color:var(--ink);box-shadow:0 20px 100px #0003}
.image-dialog::backdrop{background:#252522bd;backdrop-filter:blur(4px)}
.image-dialog[open]{display:grid;grid-template-columns:58% 42%;align-items:center}
.dialog-close{position:absolute;right:12px;top:12px;width:40px;height:40px;display:grid;place-items:center;border:1px solid var(--line);border-radius:50%;background:#f6f4eff0;z-index:1}
.dialog-image{aspect-ratio:1;object-fit:cover}
.dialog-caption{padding:40px 30px}
.dialog-caption .section-label{font-size:9px;margin-bottom:18px}
.dialog-caption h2{font-size:34px}
.dialog-caption .dialog-description{font-size:13px;line-height:1.8;color:var(--muted);margin-top:20px}

@media(min-width:1700px){.hero{min-height:720px}.hero-visual{min-height:720px}.hero-copy{padding-top:70px}}
@media(max-width:1150px){.page-width{width:calc(100% - 64px)}.header-location{display:none}.header-inner{min-height:100px}.main-nav{gap:28px}.hero{grid-template-columns:45% 55%;min-height:600px}.hero-copy{padding:38px 28px 24px 0}.hero-visual{min-height:600px}h1{font-size:clamp(58px,6.5vw,78px)}.hero-description{font-size:14px}.category-grid{gap:14px}.category h3{font-size:16px}.section-intro{padding-right:0}.about-grid{gap:8%}.about-copy{padding-right:0}.about-visual img{height:520px}.value{padding:0 30px}.company-info dl>div{grid-template-columns:120px 1fr}.contact-grid{gap:8%}}
@media(max-width:900px) and (min-width:701px){.hero{min-height:570px}.hero-visual{min-height:570px}h1{font-size:59px}.eyebrow{font-size:9px}.hero-description{font-size:13px}.hero-foot{font-size:9px}.category-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:34px 18px}.category-image img{aspect-ratio:1}.about-visual img{height:480px}.about-copy h2{font-size:40px}.about-copy>p:not(.section-label){font-size:13px}.about-signature{font-size:17px}.value{padding:0 22px}.value h3{font-size:19px}.company-info dl>div{grid-template-columns:1fr;gap:4px;padding:14px 0}.contact-copy h2{font-size:72px}}
@media(max-width:700px){
  .page-width{width:calc(100% - 40px)}
  .header-inner{min-height:86px;gap:20px;flex-wrap:wrap}
  .wordmark{font-size:37px}
  .main-nav{width:100%;order:3;justify-content:space-between;gap:14px;padding-bottom:18px;margin-top:-9px}
  .main-nav a{font-size:12px}
  .js .header-inner{flex-wrap:nowrap}
  .js .menu-toggle{display:flex;flex-direction:column;justify-content:center;gap:6px;margin-right:-10px}
  .menu-toggle span{height:1px;width:22px;background:var(--ink);transition:transform .2s}
  .menu-toggle[aria-expanded="true"] span:first-child{transform:translateY(3.5px) rotate(45deg)}
  .menu-toggle[aria-expanded="true"] span:last-child{transform:translateY(-3.5px) rotate(-45deg)}
  .js .main-nav{position:absolute;left:0;right:0;top:85px;display:none;background:var(--paper);padding:14px 20px 24px;margin:0;border-bottom:1px solid var(--line);box-shadow:0 14px 20px #25252206}
  .js .main-nav.is-open{display:flex;flex-direction:column;align-items:stretch;gap:0}
  .js .main-nav a{font-size:18px;padding:15px 0}
  .js .main-nav a::after{right:auto;width:30px}
  .hero{display:flex;flex-direction:column;min-height:0}
  .hero-copy{padding:24px 0 24px}
  .eyebrow{font-size:9px;letter-spacing:.11em}
  h1{font-size:clamp(58px,11.9vw,80px);max-width:520px;margin:28px 0 21px;line-height:1.01;letter-spacing:-.065em}
  .hero-description{font-size:14px;max-width:330px;line-height:1.8}
  .button-dark{margin-top:24px}
  .button{min-height:54px;font-size:12px}
  .hero-foot{font-size:9px;padding-top:27px;max-width:none}
  .hero-visual{min-height:0;height:440px;margin-top:3px}
  .hero-visual img{object-position:62% center}
  .hero-visual figcaption{left:19px;right:19px;bottom:17px;font-size:11px}
  .hero-visual .visual-mark{font-size:38px}
  .section-space{padding-top:74px;padding-bottom:74px}
  .section-heading{display:block;margin-bottom:30px}
  .section-label{font-size:10px;margin-bottom:18px}
  h2{font-size:39px}
  .section-intro{font-size:13px;line-height:1.7;margin-top:20px}
  .section-intro br{display:none}
  .category-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:29px 13px}
  .category-image img{aspect-ratio:1}
  .category-index{left:11px;top:11px;font-size:9px}
  .image-expand{right:9px;bottom:9px;width:28px;height:28px;font-size:16px}
  .category h3{font-size:15px;margin-top:15px;line-height:1.35}
  .category p{font-size:12px;line-height:1.65}
  .image-note{font-size:11px;margin-top:28px}
  .about-section{padding:42px 0 55px}
  .about-grid{display:flex;flex-direction:column;gap:0}
  .about-visual{width:100%}
  .about-visual img{height:auto;aspect-ratio:1/1.06;object-position:center 62%}
  .about-visual figcaption{font-size:11px;margin-top:11px}
  .about-copy{padding:45px 0 0}
  .about-copy h2{max-width:400px;margin-bottom:23px}
  .about-copy>p:not(.section-label){font-size:14px;line-height:1.85;max-width:500px}
  .about-signature{font-size:18px;margin:26px 0 27px}
  .values-heading{text-align:left;margin-bottom:35px}
  .values-heading>p:last-child{font-size:13px}
  .values-grid{grid-template-columns:1fr}
  .value,.value:first-child,.value:last-child{border-left:0;border-top:1px solid var(--line);padding:24px 0 26px}
  .value-top{margin-bottom:15px}
  .value-top svg{width:33px;height:33px}
  .value h3{font-size:23px;margin-bottom:9px}
  .value p{font-size:13px;max-width:290px}
  .value:last-child{padding-bottom:0}
  .contact-section{padding:58px 0}
  .contact-grid{grid-template-columns:1fr;gap:45px}
  .contact-copy h2{font-size:76px;margin-bottom:20px}
  .contact-copy>p:not(.section-label){max-width:320px;font-size:13px}
  .contact-brand{display:none}
  .company-info h3{font-size:13px;margin-bottom:20px}
  .company-info dl>div{grid-template-columns:115px 1fr;gap:12px;padding:17px 0;font-size:13px}
  .company-info dt{font-size:11px}
  .address-note{font-size:11px}
  .site-footer{padding:35px 0 24px}
  .footer-top{flex-wrap:wrap;gap:19px;padding-bottom:25px}
  .footer-top .wordmark{font-size:34px}
  .footer-top>p{font-size:11px;width:calc(100% - 145px)}
  .back-top{margin-left:0;font-size:10px;gap:17px}
  .footer-bottom{display:grid;grid-template-columns:1fr auto;font-size:11px;gap:18px 12px;align-items:end;padding-top:22px}
  .footer-bottom>div{grid-column:1/-1}
  .privacy{font-size:11px}
  .image-dialog{width:calc(100% - 32px);max-height:calc(100dvh - 32px)}
  .image-dialog[open]{display:block}
  .dialog-image{max-height:55dvh;object-fit:contain;background:#eae8e3}
  .dialog-caption{padding:25px}
  .dialog-caption h2{font-size:29px}
  .dialog-caption .section-label{margin-bottom:12px;font-size:8px}
  .dialog-caption .dialog-description{margin-top:13px;font-size:12px}
}
@media(max-width:360px){.page-width{width:calc(100% - 32px)}h1{font-size:54px}.hero-visual{height:380px}.category-grid{gap:25px 11px}.category h3{font-size:14px}.company-info dl>div{grid-template-columns:1fr;gap:5px}.contact-copy h2{font-size:68px}.footer-top>p{width:100%}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*::before,*::after{transition:none!important;animation:none!important}}
