:root{
  --bg:#312f30; --bg2:#3a383a; --bg3:#272526;
  --lime:#d6df21; --lime-d:#b9c11a;
  --white:#f4f4ee; --muted:#a8a6a7; --line:rgba(244,244,238,.16);
  --sans:"Avenir Next","Avenir","Century Gothic","Segoe UI",system-ui,-apple-system,Roboto,sans-serif;
}
*{box-sizing:border-box;margin:0;padding:0}
html{scroll-behavior:smooth}
body{font-family:var(--sans);font-weight:300;color:var(--white);background:var(--bg);line-height:1.65;-webkit-font-smoothing:antialiased;font-size:17px}
a{color:inherit}
img{display:block;max-width:100%;height:auto}
.wrap{max-width:1080px;margin:0 auto;padding:0 22px}
h1,h2{font-weight:300;line-height:1.12;letter-spacing:-.01em}
h2{font-size:clamp(1.9rem,4.4vw,2.8rem);margin-bottom:.55em}
h2 b,h1 b{font-weight:400;color:var(--lime)}
.eyebrow{display:flex;align-items:center;gap:14px;font-size:.78rem;letter-spacing:.32em;text-transform:uppercase;color:var(--white);font-weight:400;margin-bottom:1.4em}
.eyebrow::before{content:"";width:46px;height:1px;background:var(--lime)}
.btn{display:inline-block;background:var(--lime);color:#1d1c1c;padding:1em 2em;text-decoration:none;font-weight:500;letter-spacing:.06em;text-transform:uppercase;font-size:.88rem;border:0;cursor:pointer;font-family:inherit;transition:background .15s,transform .15s}
.btn:hover{background:#e6ef3c;transform:translateY(-1px)}
.btn[disabled]{opacity:.6;cursor:wait;transform:none}
:focus-visible{outline:2px solid var(--lime);outline-offset:3px}

/* nav */
nav{position:absolute;top:0;left:0;right:0;z-index:5;padding:22px 0}
nav .wrap{display:flex;justify-content:space-between;align-items:center}
.logo img{height:42px;width:auto;display:block}
nav a.n{text-decoration:none;font-size:.78rem;letter-spacing:.2em;text-transform:uppercase;margin-left:2em;opacity:.8}
nav a.n:hover{opacity:1;color:var(--lime)}

/* hero */
.hero{position:relative;height:clamp(700px,100vh,980px);display:flex;align-items:center;overflow:hidden;background:var(--bg3)}
.hero-pic{position:absolute;top:0;left:0;height:100%;display:block}
.hero-pic img{height:100%;width:auto;display:block}
.hero .wrap{position:relative;width:100%;display:grid;grid-template-columns:.8fr 1.2fr}
.hero-text{grid-column:2;padding-top:30px}
.hero h1{font-size:clamp(2.6rem,6vw,4.4rem);margin-bottom:.45em;text-shadow:0 2px 24px rgba(0,0,0,.35)}
.hero p.lead{font-size:1.18rem;max-width:28em;color:#e4e3dd;margin-bottom:2em}
.hero .sub{margin-top:1.4em;font-size:.82rem;letter-spacing:.06em;color:#b9b7b8}

/* strip */
.strip{background:var(--bg3);border-bottom:1px solid var(--line)}
.strip .wrap{display:grid;grid-template-columns:repeat(4,1fr);text-align:center}
.strip div{padding:26px 10px;font-size:.74rem;letter-spacing:.24em;text-transform:uppercase;color:var(--muted)}
.strip div+div{border-left:1px solid var(--line)}
.strip b{display:block;font-weight:400;font-size:1.7rem;letter-spacing:.02em;text-transform:none;color:var(--lime);margin-bottom:2px}

section{padding:100px 0}
.two{display:grid;grid-template-columns:1fr 1fr;gap:70px;align-items:center}
.story p{color:#cfcec9;margin-bottom:1.1em;max-width:32em}
.story .tree{max-width:430px;margin:0 auto;opacity:.95}

/* specs */
.specs{background:var(--bg2)}
dl{display:grid;grid-template-columns:auto 1fr;border-top:1px solid var(--line)}
dt,dd{padding:1em 0;border-bottom:1px solid var(--line)}
dt{color:var(--muted);padding-right:32px;font-size:.78rem;letter-spacing:.2em;text-transform:uppercase;padding-top:1.25em}
dd{font-weight:400}
.specs p.t{color:#cfcec9;max-width:27em}

/* order */
.order{background:var(--bg)}
.order .two{align-items:start}
.price{font-size:3.6rem;font-weight:300;color:var(--lime);margin:.1em 0 .2em;line-height:1}
.price small{font-size:.95rem;color:var(--muted);letter-spacing:.06em}
.order ul{list-style:none;margin:1.6em 0 0}
.order li{padding:.45em 0 .45em 2em;position:relative;color:#dcdbd6}
.order li::before{content:"";position:absolute;left:0;top:1.15em;width:1.1em;height:1px;background:var(--lime)}
form{background:var(--white);color:#1d1c1c;padding:34px;border-radius:2px;box-shadow:0 30px 60px rgba(0,0,0,.4)}
label{display:block;font-size:.72rem;font-weight:500;letter-spacing:.16em;text-transform:uppercase;margin:0 0 .4em;color:#4a4849}
input,textarea,select{width:100%;padding:.8em .9em;border:1px solid #c9c8c0;background:#fff;font:inherit;font-size:1rem;font-weight:400;border-radius:2px;margin-bottom:1.1em;color:#1d1c1c}
input:focus,textarea:focus,select:focus{outline:2px solid var(--lime-d);outline-offset:-1px}
.row{display:grid;grid-template-columns:1fr 1fr;gap:14px}
.hp{position:absolute;left:-9999px}
.chk{display:flex;gap:10px;align-items:flex-start;font-size:.85rem;font-weight:400;letter-spacing:0;text-transform:none;line-height:1.45;margin-bottom:1.2em;color:#4a4849}
.chk input{width:auto;margin:.2em 0 0;flex:none;accent-color:#6f7512}
.chk a{color:#1d1c1c}
.msg{margin-top:1em;padding:.9em 1em;border-radius:2px;font-size:.95rem;display:none;font-weight:400}
.msg.ok{display:block;background:#eef3b3;color:#2b2e04}
.msg.err{display:block;background:#f6d8d2;color:#6b1f12}
.total{display:flex;justify-content:space-between;align-items:baseline;border-top:1px solid #d6d5cd;padding-top:1em;margin-bottom:1.3em;font-size:1.2rem}
.total b{font-weight:500;font-size:1.5rem}
small.note{display:block;margin-top:1em;color:#6d6b6c;font-size:.78rem;font-weight:400}

/* footer */
footer{background:var(--bg3);border-top:1px solid var(--line);padding:46px 0 36px;font-size:.88rem;color:var(--muted)}
footer .wrap{display:flex;justify-content:space-between;align-items:center;flex-wrap:wrap;gap:20px}
footer img{height:30px;width:auto}
footer a{text-decoration:none}footer a:hover{color:var(--lime)}
details.legal{margin-top:28px;border-top:1px solid var(--line);padding-top:20px;font-size:.84rem}
details.legal summary{cursor:pointer;letter-spacing:.16em;text-transform:uppercase;font-size:.74rem;color:var(--white)}
details.legal div{margin-top:14px;max-width:46em;line-height:1.7}
details.legal p{margin-bottom:.8em}

@media(max-width:820px){
  body{font-size:16px}
  .hero{height:auto;display:block;padding:0 0 56px}
  .hero-pic{position:relative;top:0;height:auto;width:100%}
  .hero-pic img{width:100%;height:auto}
  .hero .wrap{display:block;margin-top:-24px}
  .hero-text{padding-top:0}
  .two{grid-template-columns:1fr;gap:44px}
  .strip .wrap{grid-template-columns:1fr 1fr}
  .strip div:nth-child(3){border-left:0}
  .strip div:nth-child(n+3){border-top:1px solid var(--line)}
  section{padding:68px 0}
  nav a.n{display:none}
  .row{grid-template-columns:1fr;gap:0}
  .story .tree{max-width:300px}
  form{padding:26px 20px}
}

/* language switcher */
.navr{display:flex;align-items:center}
details.lang{position:relative;margin-left:2em}
details.lang summary{list-style:none;cursor:pointer;font-size:.78rem;letter-spacing:.2em;border:1px solid var(--line);padding:.5em 1em;text-transform:uppercase;user-select:none}
details.lang summary::-webkit-details-marker{display:none}
details.lang summary::after{content:"";display:inline-block;margin-left:.7em;border:4px solid transparent;border-top-color:var(--lime);border-bottom:0;vertical-align:middle}
details.lang[open] summary{border-color:var(--lime)}
details.lang ul{list-style:none;position:absolute;right:0;top:calc(100% + 6px);min-width:160px;background:var(--bg3);border:1px solid var(--line);box-shadow:0 20px 40px rgba(0,0,0,.45);z-index:10}
details.lang li a{display:block;padding:.7em 1.1em;text-decoration:none;font-size:.9rem;opacity:.85}
details.lang li a:hover{color:var(--lime);opacity:1}
details.lang li a[aria-current]{color:var(--lime);opacity:1}
@media(max-width:820px){details.lang{margin-left:0}}

/* sizes */
.plist{margin:.4em 0 1.2em;border-top:1px solid var(--line);max-width:30em}
.plist>div{display:flex;justify-content:space-between;align-items:baseline;padding:.8em 0;border-bottom:1px solid var(--line)}
.plist span{color:#dcdbd6}
.plist b{font-weight:300;font-size:1.9rem;color:var(--lime);line-height:1}
.plist b span{color:inherit}
.sizes{display:grid;gap:10px;margin-bottom:1.2em}
.sz{display:grid;grid-template-columns:1fr 96px;align-items:center;gap:12px;border:1px solid #c9c8c0;background:#fff;padding:.35em .35em .35em 1em}
.sz label{margin:0;font-size:.95rem;letter-spacing:.04em;text-transform:none;font-weight:500;color:#1d1c1c}
.sz input{margin:0;text-align:center}

.paynote{font-size:.88rem;color:#4a4849;font-weight:400;border-left:3px solid var(--lime-d);padding:.2em 0 .2em .9em;margin:0 0 1.2em;line-height:1.5}
