:root{
  --ivory:#F3EFE7;--white:#FFFFFF;--ink:#23211F;--soft:#3A3632;--taupe:#6B6156;--line:#23211F;--hair:#D9D2C5;
  --accent:#4E2329;--ph:#B8AD9C;--dark:#262422;--darker:#1E1C1A;
  --serif:'Newsreader',Georgia,serif;--sans:'Hanken Grotesk',system-ui,sans-serif;
  --m:24px;--hh:64px;
}
@media (prefers-color-scheme:dark){
  :root:not([data-theme="light"]){--ivory:#1E1C1A;--white:#242220;--ink:#F3EFE7;--soft:#D9D2C5;--taupe:#B9AEA0;--line:#6B6156;--hair:#3A3632;--accent:#C98A92;--ph:#3F3A34}
}
:root[data-theme="dark"]{--ivory:#1E1C1A;--white:#242220;--ink:#F3EFE7;--soft:#D9D2C5;--taupe:#B9AEA0;--line:#6B6156;--hair:#3A3632;--accent:#C98A92;--ph:#3F3A34}
*{box-sizing:border-box}
html{scroll-behavior:smooth;height:100%}
body{margin:0;background:var(--ivory);color:var(--ink);font:400 16px/1.65 var(--sans);-webkit-font-smoothing:antialiased;padding-bottom:env(safe-area-inset-bottom,0px)}
h1,h2,h3,p,ul,figure{margin:0}
ul{padding:0;list-style:none}
a{color:inherit;text-decoration:none}
:focus-visible{outline:2px solid currentColor;outline-offset:3px}
.wrap{padding-inline:var(--m)}
.eyebrow{font:500 11px/1.2 var(--sans);letter-spacing:.22em;text-transform:uppercase;color:var(--taupe)}
.h2{font:300 34px/1.1 var(--serif);letter-spacing:-.01em}
.h2 em{font-style:italic}
.h3{font:300 28px/1.15 var(--serif)}
.body{font-size:16px;line-height:1.65;color:var(--soft)}
.lead{font-size:17px;line-height:1.7;color:var(--soft)}
.cta{display:inline-flex;align-items:center;gap:12px;min-height:48px;font:500 12px/1 var(--sans);letter-spacing:.2em;text-transform:uppercase;border-bottom:1px solid currentColor}
.cta:hover{opacity:.65}
.btn{display:inline-flex;align-items:center;justify-content:center;min-height:56px;padding:0 44px;background:var(--ink);color:var(--ivory);font:500 12px/1 var(--sans);letter-spacing:.2em;text-transform:uppercase;border:0;cursor:pointer}
.btn:hover{opacity:.85}
.btn.light{background:#F3EFE7;color:#23211F}
.ph{background:var(--ph)}
.f{position:relative;background:var(--ph);overflow:hidden}
.f>img{display:block;width:100%;height:100%;object-fit:cover}
figcaption.c{font:400 11px/1.5 var(--sans);letter-spacing:.06em;color:var(--taupe);margin-top:8px}
.r11{aspect-ratio:1/1}.r43{aspect-ratio:4/3}.r34{aspect-ratio:3/4}.r32{aspect-ratio:3/2}.r54{aspect-ratio:5/4}.r169{aspect-ratio:16/9}.r916{aspect-ratio:9/16}.r45{aspect-ratio:4/5}.r21{aspect-ratio:2/1}
.bleed{margin-inline:calc(var(--m) * -1)}
.arch>img{filter:saturate(.8) contrast(.95)}
.arch{padding:8px;background:#EDE7DB}
.ph-note{font:500 10px/1.5 var(--sans);letter-spacing:.14em;text-transform:uppercase;color:var(--taupe)}
.todo{color:var(--taupe);font-style:italic}

/* HEADER */
.site-h{position:fixed;top:0;left:0;right:0;z-index:20;padding:env(safe-area-inset-top,0px) var(--m) 0;height:calc(var(--hh) + env(safe-area-inset-top,0px));display:flex;align-items:center;justify-content:space-between;transition:background .3s,color .3s}
body[data-page="home"] .site-h{color:#F3EFE7}
body[data-page="home"] .site-h.solid{background:rgba(30,28,26,.94)}
body:not([data-page="home"]) .site-h{background:var(--ivory);color:var(--ink);border-bottom:1px solid var(--hair)}
.logo{font:500 11px/1 var(--sans);letter-spacing:.2em}
.site-h nav{display:none}
.burger{width:48px;height:48px;margin-right:-12px;background:none;border:0;color:inherit;display:flex;align-items:center;justify-content:center;cursor:pointer}
.menu{position:fixed;inset:0;z-index:30;background:var(--darker);color:#F3EFE7;padding:calc(env(safe-area-inset-top,0px) + 8px) var(--m) 40px;display:none;flex-direction:column}
.menu.open{display:flex}
.menu .top{display:flex;justify-content:space-between;align-items:center;height:56px}
.menu .list{margin-top:32px;display:flex;flex-direction:column}
.menu .list a{font:300 40px/1.5 var(--serif)}

/* PAGES */
.page{display:none}
.page.on{display:block}
.inner{padding-top:calc(var(--hh) + env(safe-area-inset-top,0px))}
.phead{padding-block:56px 40px}
.phead .eyebrow{display:block}
.phead h1{margin-top:20px;font:300 40px/1.06 var(--serif);letter-spacing:-.015em}
.phead h1 em{font-style:italic}
.phead .lead{margin-top:28px;max-width:660px}
section.s{padding-block:64px}
.s-white{background:var(--white)}
.s-dark{background:var(--dark);color:#F3EFE7}
.s-dark .eyebrow{color:#B9AEA0}
.s-dark .body,.s-dark .lead{color:#D9D2C5}
.rows>*{border-top:1px solid var(--line);padding:18px 0}
.rows>*:last-child{border-bottom:1px solid var(--line)}
.rows b{display:block;font:500 11px/1.4 var(--sans);letter-spacing:.2em;text-transform:uppercase}
.rows span{display:block;margin-top:6px;font:300 22px/1.3 var(--serif);color:var(--soft)}

/* HOME */
.hero{position:relative;min-height:100svh;background:#3F3A34;color:#F3EFE7;display:flex;flex-direction:column;justify-content:flex-end;padding:0 var(--m) 40px;overflow:hidden}
.hero>img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:68% 50%}
.hero .scrim{position:absolute;inset:0;background:linear-gradient(to bottom,rgba(20,18,16,.4) 0,rgba(20,18,16,0) 22%,rgba(20,18,16,0) 40%,rgba(20,18,16,.72) 100%)}
.hero>*:not(img):not(.scrim){position:relative}
.hero h1{font:300 46px/1.02 var(--serif);letter-spacing:-.02em}
.hero h1 .n{display:block}
.hero .tag{margin-top:20px;font:italic 300 24px/1.2 var(--serif)}
.hero .kw{margin-top:20px;font:500 12px/1.5 var(--sans);letter-spacing:.16em;text-transform:uppercase;color:#E6E0D4}
.hero .foot{margin-top:24px;padding-top:20px;border-top:1px solid rgba(243,239,231,.5);color:#E6E0D4;font-size:14px;display:flex;flex-direction:column;gap:4px}
.intro h2{margin-top:20px}
.intro .txt{margin-top:28px;display:flex;flex-direction:column;gap:16px}
.trio{margin-top:48px}
.lieu-l{display:flex;flex-direction:column;gap:32px}
.lieu-l .eyebrow+.h2{margin-top:20px}
.lieu-l .body{margin-top:20px}
.lieu-r{margin-top:32px}
.forest{margin-top:64px}
.forest .h3{font-size:30px}
.forest-imgs{margin-top:28px;display:grid;grid-template-columns:3fr 2fr;gap:12px;align-items:start}
.sg{margin-top:28px;padding-top:16px;border-top:1px solid var(--line);font:500 11px/1.5 var(--sans);letter-spacing:.16em;text-transform:uppercase}
.car-pic{position:relative}
.car-over{display:none}
.car-txt .h2{margin-top:20px}
.car-eb{margin-top:40px}
.facts{margin-top:32px}
.facts p{border-top:1px solid #6B6156;padding:14px 0;font:500 12px/1.3 var(--sans);letter-spacing:.16em;text-transform:uppercase}
.facts p:last-child{border-bottom:1px solid #6B6156}
.pens .h2{margin-top:20px}
.pens .p-item h3{font:300 28px/1.15 var(--serif)}
.pens .p-item .body{margin-top:10px}
.pens .p-box{margin-top:40px}
.pens .p-box h3{margin-top:20px}
.pens .p-trav{margin-top:48px}
.pens .p-trav .bar{margin:24px 0 16px;width:40px;height:2px;background:var(--accent)}
.pens .p-trav h3{font-size:34px}
.pens .duo>div{margin-top:36px;border-top:1px solid var(--line);padding-top:20px}
.pens .duo h3{font-size:26px}
.sport .head p{margin-top:24px}
.tri{margin-top:36px;border-top:1px solid var(--line);padding-top:20px}
.tri p:first-child{font:300 30px/1.15 var(--serif);letter-spacing:.02em}
.tri p:last-child{margin-top:12px;font:500 11px/1.4 var(--sans);letter-spacing:.2em;text-transform:uppercase;color:var(--taupe)}
.swipe{margin:40px calc(var(--m) * -1) 0;padding-inline:var(--m);display:flex;gap:12px;overflow-x:auto;scroll-snap-type:x mandatory;-webkit-overflow-scrolling:touch;align-items:flex-start}
.swipe figure{flex:none;scroll-snap-align:start;width:240px}
.swipe figure.wide{width:320px}
.hint{margin-top:14px}
.vie .h2{font-size:34px}
.vie .g{margin-top:36px;display:flex;flex-direction:column;gap:12px}
.vie .g2{display:grid;grid-template-columns:1fr 1fr;gap:12px}
.band{position:relative;min-height:640px;background:#4A443D;color:#F3EFE7;display:flex;flex-direction:column;justify-content:flex-end;padding:72px var(--m) 56px;overflow:hidden}
.band>img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:60% 50%}
.band .scrim{position:absolute;inset:0;background:linear-gradient(to bottom,rgba(20,18,16,.15) 0,rgba(20,18,16,.72) 100%)}
.band>*:not(img):not(.scrim){position:relative}
.band .h2{font-size:36px;line-height:1.08}
.band p.sub{margin-top:20px;font-size:17px;line-height:1.6;color:#E6E0D4}
.band .btn{margin-top:32px}
.band .loc{margin-top:36px;font:500 11px/1.8 var(--sans);letter-spacing:.16em;text-transform:uppercase;color:#E6E0D4}

/* INNER PAGES */
.defs>div{border-top:1px solid var(--line);padding:18px 0}
.defs>div:last-child{border-bottom:1px solid var(--line)}
.defs h3{font:300 24px/1.2 var(--serif)}
.defs p{margin-top:6px;font-size:15px;line-height:1.6;color:var(--soft)}
.mosaic{margin-top:40px;display:flex;flex-direction:column;gap:28px}
.two{display:grid;grid-template-columns:1fr 1fr;gap:12px}
.blk{margin-top:56px}
.blk .h2{margin-top:16px}
.blk .body,.blk .lead{margin-top:20px}
.pr{font:300 44px/1 var(--serif);letter-spacing:-.01em;margin-top:16px}
.pr small{font:400 15px/1 var(--sans);letter-spacing:0;color:var(--taupe)}
.incl{margin-top:24px}
.incl li{border-top:1px solid var(--hair);padding:11px 0;font-size:15px;color:var(--soft)}
.incl li:last-child{border-bottom:1px solid var(--hair)}
.principle{display:grid;grid-template-columns:1fr 1fr;gap:0 16px}
.principle p{border-top:1px solid var(--line);padding:16px 0 20px;font:300 22px/1.25 var(--serif)}
.crow{padding-block:48px;border-top:1px solid var(--line)}
.crow .h2{font-size:32px;margin-top:14px}
.crow .body{margin-top:18px}
.crow .imgs{margin-top:28px;display:grid;grid-template-columns:1fr 1fr;gap:12px;align-items:start}
.s-dark .crow{border-top-color:#6B6156}
form{display:flex;flex-direction:column;gap:22px}
label{display:block;font:500 11px/1.2 var(--sans);letter-spacing:.18em;text-transform:uppercase;color:var(--taupe);margin-bottom:8px}
input,select,textarea{width:100%;min-height:48px;padding:12px 0;background:transparent;color:var(--ink);border:0;border-bottom:1px solid var(--line);border-radius:0;font:400 16px/1.4 var(--sans)}
textarea{min-height:120px;resize:vertical}
select{appearance:none;-webkit-appearance:none}
input:focus,select:focus,textarea:focus{outline:0;border-bottom-width:2px}
.status{font-size:15px;color:var(--soft);min-height:24px}
.cinfo p{margin-top:6px}
.cinfo .big{font:300 28px/1.2 var(--serif)}
.cinfo>div{border-top:1px solid var(--line);padding:18px 0}

footer.site-f{background:var(--darker);color:#F3EFE7;padding:56px var(--m) calc(56px + env(safe-area-inset-bottom,0px))}
footer .n{font:300 26px/1.15 var(--serif)}
footer .a{margin-top:12px;font-size:14px;color:#B9AEA0}
footer nav{margin-top:28px;display:flex;flex-direction:column}
footer nav a{min-height:44px;display:flex;align-items:center;font:500 12px/1 var(--sans);letter-spacing:.2em}
footer .c{margin-top:24px;font-size:14px;line-height:1.9;color:#B9AEA0}
footer .c a{color:#F3EFE7}
footer .c .todo{color:#B9AEA0}
.cinfo a{border-bottom:1px solid var(--line)}

@media (min-width:900px){
  :root{--m:80px;--hh:96px}
  .logo{font-size:13px;letter-spacing:.24em}
  .site-h nav{display:flex;gap:40px}
  .site-h nav a{font:500 12px/1 var(--sans);letter-spacing:.2em;padding:16px 0;border-bottom:1px solid transparent}
  .site-h nav a[aria-current="page"]{border-bottom-color:currentColor}
  .burger{display:none}
  .h2{font-size:64px}
  .h3{font-size:36px}
  .body{font-size:17px;line-height:1.7}
  .lead{font-size:19px}
  .phead{padding-block:96px 64px}
  .phead h1{font-size:88px;max-width:1000px}
  section.s{padding-block:120px}
  .g12{display:grid;grid-template-columns:repeat(12,minmax(0,1fr));column-gap:24px}
  .bleed{margin-inline:0}
  .hero{padding-bottom:80px}
  .hero>img{object-position:50% 60%}
  .hero h1{font-size:104px;line-height:1}
  .hero h1 .n{display:inline}
  .hero .tag{font-size:36px;margin-top:28px}
  .hero .kw{font-size:13px;margin-top:28px}
  .hero .foot{flex-direction:row;justify-content:space-between;align-items:center;margin-top:56px;padding-top:28px;font-size:15px}
  .intro{min-height:880px}
  .intro .eyebrow{grid-column:1/span 3;padding-top:18px}
  .intro .main{grid-column:4/span 9}
  .intro h2{margin-top:0;font-size:76px;line-height:1.05}
  .intro .txt{margin-top:48px;max-width:660px}
  .intro .txt p{font-size:19px}
  .trio{grid-column:4/span 9;display:grid;grid-template-columns:repeat(3,1fr);column-gap:24px;margin-top:100px}
  .trio>div{border-top:1px solid var(--line);padding:20px 0 28px}
  .trio b{display:block;font:500 12px/1.4 var(--sans);letter-spacing:.2em;text-transform:uppercase}
  .trio span{display:block;margin-top:14px;font:300 24px/1.3 var(--serif);color:var(--soft)}
  .lieu-l{grid-column:1/span 5;justify-content:space-between;gap:48px}
  .lieu-l .h2{font-size:56px}
  .lieu-l .body{margin-top:28px}
  .lieu-r{grid-column:6/span 7;margin-top:0}
  .forest{margin-top:120px;align-items:end}
  .forest-imgs{grid-column:1/span 8;grid-row:1;margin-top:0;column-gap:24px}
  .forest-txt{grid-column:9/span 4;grid-row:1}
  .forest .h3{font-size:40px}
  .car-in{align-items:center}
  .car-pic{grid-column:1/span 5}
  .car-over{display:block;position:absolute;right:-56px;bottom:-56px;width:40%;border:8px solid var(--dark)}
  .car-txt{grid-column:7/span 6}
  .car-txt .h2{font-size:62px;margin-top:24px}
  .car-txt .body{max-width:560px}
  .car-eb{margin-top:0}
  .facts{display:grid;grid-template-columns:1fr 1fr;column-gap:24px;max-width:560px}
  .facts p:nth-last-child(-n+2){border-bottom:1px solid #6B6156}
  .pens .h2{margin-top:24px}
  .pens .row{margin-top:80px;align-items:start}
  .pens .p-box{grid-column:1/span 5;margin-top:0}
  .pens .p-trav{grid-column:7/span 6;margin-top:0}
  .pens .p-item h3{font-size:36px}
  .pens .p-trav h3{font-size:44px}
  .pens .duo{margin-top:80px}
  .pens .duo>div{margin-top:0}
  .pens .duo>div:first-child{grid-column:1/span 5}
  .pens .duo>div:last-child{grid-column:7/span 6}
  .pens .duo h3{font-size:30px}
  .sport .head{align-items:end}
  .sport .head h2{grid-column:1/span 7}
  .sport .head p{grid-column:9/span 4;margin-top:0}
  .tri{margin-top:100px;padding-top:32px;display:flex;justify-content:space-between;align-items:baseline}
  .tri p:first-child{font-size:44px}
  .tri p:last-child{margin-top:0;font-size:13px}
  .swipe{margin:80px 0 0;padding:0;display:grid;grid-template-columns:repeat(12,minmax(0,1fr));column-gap:24px;overflow:visible}
  .swipe figure,.swipe figure.wide{width:auto}
  .swipe figure:nth-child(1){grid-column:1/span 3}
  .swipe figure:nth-child(2){grid-column:4/span 6;margin-top:100px}
  .swipe figure:nth-child(3){grid-column:10/span 3}
  .swipe figure:nth-child(1) .f,.swipe figure:nth-child(3) .f{aspect-ratio:3/4}
  .swipe figure:nth-child(2) .f{aspect-ratio:3/2}
  .hint{display:none}
  .vie .t{grid-column:1/span 4;padding-top:8px}
  .vie .h2{font-size:56px}
  .vie .g{grid-column:6/span 7;margin-top:0;gap:24px}
  .vie .g2{column-gap:24px}
  .band{min-height:780px;padding-block:120px}
  .band .h2{font-size:72px;line-height:1.05}
  .band .btn{align-self:flex-start;margin-top:44px}
  .band>img{object-position:50% 50%}
  .mosaic{gap:24px;margin-top:56px}
  .mrow{display:grid;grid-template-columns:repeat(12,minmax(0,1fr));column-gap:24px;align-items:start}
  .mrow.a>figure:first-child{grid-column:1/span 7}
  .mrow.a>figure:last-child{grid-column:8/span 5}
  .mrow.b>figure:first-child{grid-column:1/span 5}
  .mrow.b>figure:last-child{grid-column:6/span 7}
  .mrow .f{height:440px}
  .ecu-grid{align-items:start}
  .ecu-l{grid-column:1/span 5}
  .ecu-r{grid-column:7/span 6}
  .blk .h2{font-size:56px}
  .pr{font-size:56px}
  .principle{grid-template-columns:repeat(4,1fr);column-gap:24px}
  .crow{padding-block:80px}
  .crow .h2{font-size:48px}
  .crow .lab{grid-column:1/span 4}
  .crow .cont{grid-column:5/span 8}
  .crow .body{max-width:600px}
  .crow .imgs{margin-top:40px;column-gap:24px}
  .cgrid{align-items:start}
  .cgrid .cl{grid-column:1/span 5}
  .cgrid .cr{grid-column:7/span 6}
  footer.site-f{padding-block:80px;display:grid;grid-template-columns:repeat(12,minmax(0,1fr));column-gap:24px;align-content:start}
  footer .col1{grid-column:1/span 4}
  footer .n{font-size:28px}
  footer nav{grid-column:6/span 3;margin-top:0;gap:4px}
  footer nav a{min-height:0;padding:10px 0}
  footer .c{grid-column:9/span 4;margin-top:0}
}
@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}.site-h{transition:none}}
.r23{aspect-ratio:2/3}
@media (max-width:899px){.hide-m{display:none}.bleed-m{margin-inline:calc(var(--m) * -1);width:calc(100% + var(--m) * 2)}}