@font-face {
  font-family: "Montserrat";
  src: url("fonts/montserrat/Montserrat-Light.ttf") format("truetype");
  font-style: normal;
  font-weight: 300;
  font-display: swap;
}
@font-face {
  font-family: "Montserrat";
  src: url("fonts/montserrat/Montserrat-Regular.ttf") format("truetype");
  font-style: normal;
  font-weight: 400;
  font-display: swap;
}
@font-face {
  font-family: "Montserrat";
  src: url("fonts/montserrat/Montserrat-Medium.ttf") format("truetype");
  font-style: normal;
  font-weight: 500;
  font-display: swap;
}
@font-face {
  font-family: "Cormorant Garamond";
  src: url("fonts/cormorant-garamond/CormorantGaramond-VariableFont_wght.ttf") format("truetype");
  font-style: normal;
  font-weight: 300 700;
  font-display: swap;
}

:root { --background:#f8f6f2; --text:#171717; --blue:#9db8de; --line:rgba(20,20,20,.14); }
* { box-sizing:border-box; margin:0; padding:0; }
html { scroll-behavior:smooth; }
body { font-family:"Montserrat",Arial,sans-serif; background:var(--background); color:var(--text); }
.page { min-height:100vh; overflow:hidden; }
.header { position:absolute; top:0; left:0; width:100%; padding:32px 5vw; display:flex; justify-content:center; align-items:flex-start; z-index:10; }
.navigation { display:flex; gap:35px; }
.navigation a { font-size:11px; font-weight:400; letter-spacing:.03em; text-transform:uppercase; text-decoration:none; color:var(--text); transition:opacity .2s ease; }
.navigation a:hover, .footer a:hover { opacity:.5; }
.header-logo { display:flex; justify-content:center; align-items:flex-start; }
.header-logo img { width:clamp(240px,20vw,340px); height:auto; display:block; object-fit:contain; }
.hero { min-height:100svh; display:grid; grid-template-columns:minmax(0,56%) minmax(0,44%); position:relative; }
.hero-content { padding:190px 5vw 80px; display:flex; flex-direction:column; align-items:flex-start; position:relative; z-index:2; }
.brand-name { font-size:clamp(12px,1vw,16px); font-weight:400; letter-spacing:.45em; margin-bottom:30px; }
.divider { width:min(300px,80%); height:1px; background:var(--blue); margin-bottom:45px; }
.eyebrow { font-size:11px; font-weight:400; letter-spacing:.25em; margin-bottom:48px; }
h1 { font-family:"Cormorant Garamond",Georgia,serif; font-weight:400; font-size:clamp(66px,6.5vw,112px); line-height:.82; letter-spacing:-.045em; max-width:900px; }
.mini-line { width:35px; height:1px; background:var(--blue); margin:55px 0 35px; }
.intro { font-size:14px; font-weight:300; line-height:1.9; color:#282828; }
.claim { margin-top:48px; color:var(--blue); font-size:12px; font-weight:400; letter-spacing:.34em; }
.hero-image { position:relative; min-height:100svh; overflow:hidden; pointer-events:none; background:url("assets/teaser.png") bottom right / min(52vw,830px) auto no-repeat; }
.hero-content::after { content:""; position:absolute; width:420px; height:420px; left:-180px; bottom:30px; border-radius:50%; background:radial-gradient(circle,rgba(157,184,222,.08),transparent 70%); z-index:-1; }
.footer { border-top:1px solid var(--line); min-height:180px; padding:35px 5vw; display:grid; grid-template-columns:1fr auto 1fr; align-items:center; }
.footer-contact,.footer-legal { display:flex; flex-direction:column; gap:12px; }
.footer a { color:var(--text); text-decoration:none; font-size:11px; font-weight:300; }
.footer-brand { text-align:center; }
.footer-brand img { width:200px; height:auto; margin-bottom:14px; }
.footer-brand p { font-size:9px; font-weight:300; line-height:1.7; letter-spacing:.08em; }
.footer-legal { align-items:flex-end; }
.legal-page { max-width:850px; margin:auto; padding:70px 24px; line-height:1.7; }
.legal-page h1 { margin:25px 0; line-height:1; }
.legal-page h2 { font:500 20px "Montserrat",sans-serif; margin:30px 0 8px; }
.legal-page a { color:inherit; }
.legal-note { padding:18px; border:1px solid #d7d2cb; background:#fff; margin:20px 0; }
@media (max-width:1000px) { .hero{grid-template-columns:58% 42%;} h1{font-size:clamp(58px,7vw,86px);} .hero-image{background-size:58vw auto;background-position:calc(100% + 14vw) bottom;} }
@media (max-width:700px) {
  .header{position:relative;padding:22px;display:flex;justify-content:center;align-items:center}.header-logo img{width:min(280px,78vw)}
  .hero{min-height:auto;display:flex;flex-direction:column}.hero-content{padding:55px 22px 60px;min-height:auto;width:100%;position:relative;z-index:3}.brand-name{font-size:10px;letter-spacing:.35em}.divider{width:100%}.eyebrow{font-size:9px;line-height:1.6;margin-bottom:40px}h1{font-size:clamp(47px,13vw,67px);line-height:.87}.intro{font-size:11px;line-height:1.8}.claim{font-size:9px;line-height:1.8;letter-spacing:.25em}
  .hero-image{position:relative;top:auto;right:auto;width:100%;height:auto;min-height:0;aspect-ratio:2/3;z-index:1;background-size:100% auto;background-position:center top;background-repeat:no-repeat;background-color:transparent}.footer{min-height:auto;padding:40px 22px;grid-template-columns:1fr;gap:32px;text-align:center}.footer-contact,.footer-legal{align-items:center}.footer-brand{order:-1}.footer-brand img{width:min(220px,68vw)}
}
@media (max-width:430px) { .hero-content{width:100%;min-height:auto} h1{font-size:clamp(43px,12vw,57px)} }
