:root { --ink:#16191a; --charcoal:#202426; --paper:#f7f7f5; --white:#fff; --sand:#c0ab8c; --sand-light:#e7e1d4; }
* { box-sizing:border-box; }
html { scroll-behavior:smooth; }
body { margin:0; overflow-x:hidden; background:var(--paper); color:var(--ink); font-family:"Avenir Next",Avenir,"Helvetica Neue",Helvetica,Arial,sans-serif; -webkit-font-smoothing:antialiased; }
a { color:inherit; text-decoration:none; }
img,svg { display:block; }
.shell { width:min(1180px,calc(100% - 96px)); margin-inline:auto; }

.hero { position:relative; min-height:720px; height:100svh; overflow:hidden; color:var(--white); background:#121416; }
.hero__image,.hero__veil { position:absolute; inset:0; }
.hero__image { background:url("watch-background.jpg") center/cover; transform:scale(1.035); animation:settle 1.8s cubic-bezier(.2,.65,.25,1) both; }
.hero__veil { background:linear-gradient(90deg,rgba(12,14,15,.76),rgba(12,14,15,.48) 52%,rgba(12,14,15,.64)),linear-gradient(180deg,rgba(10,12,13,.28),rgba(10,12,13,.08) 50%,rgba(10,12,13,.55)); }
.site-header { position:relative; z-index:2; display:flex; align-items:center; justify-content:space-between; height:112px; border-bottom:1px solid rgba(255,255,255,.2); }
.site-header__logo { width:202px; height:auto; }
.site-header__status,.eyebrow,.section-label { font-size:12px; font-weight:700; letter-spacing:.2em; text-transform:uppercase; }
.site-header__status { display:flex; align-items:center; gap:14px; color:var(--sand-light); }
.site-header__status::before { width:28px; height:1px; content:""; background:var(--sand); }
.hero__content { position:relative; z-index:1; display:flex; flex-direction:column; align-items:center; justify-content:center; height:calc(100% - 112px); padding-bottom:48px; text-align:center; }
.eyebrow { margin:0 0 27px; color:var(--sand-light); }
.hero h1 { min-width:0; max-width:920px; margin:0; font-size:clamp(42px,5.6vw,76px); font-weight:400; letter-spacing:.025em; line-height:1.12; }
.hero__lead { max-width:570px; margin:30px auto 0; color:rgba(255,255,255,.82); font-size:18px; line-height:1.65; }
.hero__link { display:inline-flex; align-items:center; gap:18px; margin-top:40px; padding-bottom:8px; border-bottom:1px solid var(--sand); color:var(--sand-light); font-size:13px; font-weight:700; letter-spacing:.15em; text-transform:uppercase; transition:color .25s,gap .25s; }
.hero__link svg { width:20px; }
.hero__link:hover,.hero__link:focus-visible { gap:24px; color:var(--white); }
.hero__index { position:absolute; right:max(28px,calc((100% - 1180px)/2)); bottom:42px; z-index:2; display:flex; align-items:center; gap:10px; color:rgba(255,255,255,.62); font-size:10px; letter-spacing:.12em; }
.hero__index-line { width:58px; height:1px; background:linear-gradient(90deg,var(--sand) 34%,rgba(255,255,255,.28) 34%); }

.notice { padding:138px 0 148px; background:var(--paper); }
.notice__grid,.contact__grid { display:grid; grid-template-columns:5fr 6fr; gap:9%; }
.section-label { margin:0 0 30px; color:#9b8769; }
.notice h2,.contact h2 { margin:0; font-size:clamp(38px,4.2vw,58px); font-weight:400; letter-spacing:-.025em; line-height:1.15; }
.notice__copy { max-width:590px; padding-top:38px; }
.notice__copy p { margin:0 0 25px; color:#4e5354; font-size:17px; line-height:1.8; }
.notice__copy .notice__intro { color:var(--ink); font-size:24px; line-height:1.55; }

.contact { position:relative; overflow:hidden; padding:118px 0 126px; color:var(--white); background:var(--charcoal); }
.contact__grid { position:relative; z-index:1; align-items:end; }
.section-label--gold { color:var(--sand); }
.contact h2 { max-width:650px; color:var(--white); font-size:clamp(34px,3.5vw,50px); }
.contact__email { display:grid; grid-template-columns:52px 1fr 26px; align-items:center; gap:20px; padding:24px 0; border-block:1px solid rgba(231,225,212,.28); transition:border-color .25s,color .25s; }
.contact__email:hover,.contact__email:focus-visible { border-color:var(--sand); color:var(--sand-light); }
.contact__email-icon { display:grid; width:52px; height:52px; place-items:center; border:1px solid var(--sand); border-radius:50%; color:var(--sand); }
.contact__email-icon svg { width:22px; }
.contact__email>svg { width:26px; color:var(--sand); }
.contact__email small { display:block; margin-bottom:6px; color:#aeb0b0; font-size:11px; font-weight:700; letter-spacing:.18em; text-transform:uppercase; }
.contact__email strong { font-size:clamp(17px,2vw,23px); font-weight:400; letter-spacing:.02em; }
.contact__dial { position:absolute; top:-240px; right:-210px; width:610px; height:610px; border:1px solid rgba(192,171,140,.10); border-radius:50%; }
.contact__dial::before,.contact__dial::after,.contact__dial span { position:absolute; inset:12%; border:1px solid rgba(192,171,140,.08); border-radius:50%; content:""; }
.contact__dial::after { inset:25%; }
.contact__dial span { inset:38%; }

.footer { padding:38px 0; color:#b8b9b9; background:#16191a; }
.footer__inner { display:flex; align-items:center; justify-content:space-between; }
.footer img { width:170px; opacity:.8; }
.footer p { margin:0; font-size:12px; letter-spacing:.07em; }

@keyframes settle { from { transform:scale(1.075); opacity:.72; } to { transform:scale(1.035); opacity:1; } }
@media (prefers-reduced-motion:reduce) { html { scroll-behavior:auto; } .hero__image { animation:none; } .hero__link { transition:none; } }
@media (max-width:800px) {
  .shell { width:min(100% - 44px,680px); }
  .hero { min-height:690px; }
  .site-header { height:88px; }
  .site-header__logo { width:168px; }
  .hero__content { height:calc(100% - 88px); padding-bottom:30px; }
  .hero h1 { font-size:clamp(38px,10.4vw,58px); }
  .hero__lead { max-width:480px; font-size:16px; }
  .hero__index { display:none; }
  .notice { padding:86px 0 92px; }
  .notice__grid,.contact__grid { grid-template-columns:1fr; gap:54px; }
  .notice__copy { padding-top:0; }
  .contact { padding:86px 0 90px; }
}
@media (max-width:520px) {
  .shell { width:calc(100% - 36px); }
  .site-header__status { font-size:10px; }
  .site-header__status::before { display:none; }
  .hero { min-height:640px; max-height:820px; }
  .hero__image { background-position:52% center; }
  .eyebrow { margin-bottom:22px; }
  .hero h1 { width:100%; max-width:100%; font-size:clamp(34px,9vw,38px); letter-spacing:0; line-height:1.16; }
  .hero h1 br { display:block; }
  .hero__lead { margin-top:24px; line-height:1.55; }
  .hero__link { margin-top:30px; }
  .notice h2 { font-size:40px; }
  .notice__copy .notice__intro { font-size:21px; }
  .contact__email { grid-template-columns:44px minmax(0,1fr) 22px; gap:13px; }
  .contact__email-icon { width:44px; height:44px; }
  .contact__email strong { font-size:16px; }
  .footer__inner { align-items:flex-start; flex-direction:column; gap:24px; }
}
