@import url('https://fonts.googleapis.com/css2?family=DM+Sans:wght@400;450;500;550;600;650;700&family=Manrope:wght@400;500;600;650;700;750;800&family=Playfair+Display:ital,wght@1,500;1,600&display=swap');

:root { --paper:#f7f6f2; --ink:#20211f; --muted:#65665e; --orange:#e95e35; --line:#d9d9d1; --white:#fff; --display:'Manrope',sans-serif; --body:'DM Sans',sans-serif; --serif:'Playfair Display',Georgia,serif; --max:1240px; }
* { box-sizing:border-box; }
html { scroll-behavior:smooth; scroll-padding-top:32px; }
body { margin:0; background:var(--paper); color:var(--ink); font:16px/1.65 var(--body); -webkit-font-smoothing:antialiased; }
::selection { background:#ffc5ae; color:var(--ink); }
img,svg { display:block; max-width:100%; }
a { color:inherit; text-decoration:none; }
button { font:inherit; color:inherit; cursor:pointer; }
a,button { -webkit-tap-highlight-color:transparent; }
:focus-visible { outline:3px solid #b34322; outline-offset:6px; }
h1,h2,h3,p { margin:0; }
h1,h2,h3 { font-family:var(--display); font-weight:600; }
em { font-family:var(--serif); font-weight:500; }
.wrap { width:min(var(--max),calc(100% - 112px)); margin-inline:auto; }
.orange { color:var(--orange); }
.micro,.eyebrow { font-size:10px; letter-spacing:1.4px; font-weight:600; line-height:1.6; }
.eyebrow { letter-spacing:1.7px; }
.micro { color:var(--muted); }
.status-dot { display:inline-block; width:7px; height:7px; border-radius:50%; background:var(--orange); margin-right:9px; }
.site-header { min-height:108px; display:flex; align-items:center; justify-content:space-between; gap:24px; border-bottom:1px solid var(--line); position:relative; z-index:10; }
.brand { display:inline-flex; align-items:center; gap:9px; font:800 27px/1 var(--display); letter-spacing:-1.2px; }
.brand img { flex-shrink:0; margin-right:2px; }
.brand-suffix { font:400 12px var(--body); letter-spacing:0; color:var(--muted); margin-left:3px; }
.navigation { display:flex; align-items:center; gap:32px; font-size:12px; font-weight:500; }
.navigation a:not(.nav-button):hover,.site-footer a:hover { color:#bb4524; }
.nav-button { border:1px solid var(--ink); padding:11px 17px; border-radius:5px; display:flex; align-items:center; gap:24px; transition:background .2s,color .2s; }
.nav-button:hover { background:var(--ink); color:var(--white); }
.nav-button span { font-size:20px; line-height:1; }
.menu-toggle { display:none; }
.button { display:inline-flex; align-items:center; justify-content:space-between; gap:34px; border-radius:5px; padding:16px 22px; font-size:12px; font-weight:550; transition:background .2s,color .2s; }
.button span { font-size:21px; line-height:1; }
.button.dark { color:var(--white); background:var(--ink); }
.button.dark:hover { background:#bd4523; }
.button.light { background:var(--paper); color:var(--ink); }
.button.light:hover { background:#ffbda5; }
.button.orange-button { background:var(--orange); color:#161712; }
.button.orange-button:hover { background:#ff9d7c; }
.section { padding-block:105px; }
.section-top { display:flex; justify-content:space-between; align-items:center; gap:20px; margin-bottom:38px; }
.section-heading { display:flex; align-items:flex-end; justify-content:space-between; gap:40px; margin-bottom:46px; }
h2 { font-size:clamp(38px,4.5vw,60px); letter-spacing:-2.6px; line-height:1.13; }
.section-heading>p { font-size:13px; color:var(--muted); max-width:360px; margin-bottom:5px; }
.phone { padding:7px; background:#292a29; border:1px solid #55564f; border-radius:30px; box-shadow:12px 22px 35px #0003,inset 0 0 0 2px #151615; overflow:hidden; }
.phone img { width:100%; height:auto; border-radius:23px; }
.app-symbol { width:48px; height:48px; display:inline-flex; align-items:center; justify-content:center; border-radius:13px; background:#e95e35; color:#fff; font-size:22px; flex-shrink:0; }
.app-symbol.small { width:38px; height:38px; border-radius:10px; font-size:16px; }
.text-link { display:inline-flex; align-items:center; gap:24px; border-bottom:1px solid var(--ink); padding-bottom:8px; font-size:12px; font-weight:600; }
.text-link:hover { color:#b34322; border-color:#b34322; }
.site-footer { padding-top:60px; padding-bottom:25px; }
.footer-main { display:flex; justify-content:space-between; gap:30px; padding-bottom:48px; }
.footer-main p { font-size:12px; color:var(--muted); margin-top:18px; }
.footer-main nav { display:flex; align-items:flex-start; gap:35px; font-size:12px; padding-top:10px; }
.footer-legal { display:flex; align-items:center; gap:25px; flex-wrap:wrap; padding-bottom:24px; font-size:12px; }
.footer-legal>span { color:var(--muted); font-size:8px; letter-spacing:1.3px; margin-right:auto; }
.footer-bottom { display:flex; justify-content:space-between; gap:20px; border-top:1px solid var(--line); padding-top:22px; font-size:10px; color:var(--muted); }
.footer-bottom>span:nth-child(2) { font-size:8px; letter-spacing:1.5px; }
.skip-link { position:fixed; top:-70px; left:20px; background:var(--ink); color:var(--white); padding:12px 24px; z-index:100; }
.skip-link:focus { top:10px; }
@media(min-width:1500px) { .wrap { width:min(var(--max),calc(100% - 160px)); } }
@media(max-width:1000px) {
  .wrap { width:calc(100% - 64px); }
  .navigation { gap:20px; }
  .brand-suffix { display:none; }
  .section { padding-block:80px; }
}
@media(max-width:700px) {
  .wrap { width:calc(100% - 40px); }
  .site-header { min-height:82px; }
  .brand { font-size:25px; }
  .brand-suffix { display:inline; font-size:11px; }
  .menu-toggle { display:flex; align-items:center; gap:12px; background:none; border:1px solid var(--line); border-radius:4px; min-height:44px; padding:8px 12px; font-size:12px; }
  .menu-toggle span { font-size:20px; line-height:1; }
  .navigation { position:absolute; top:81px; left:-20px; right:-20px; background:var(--paper); padding:24px; border-bottom:1px solid var(--line); align-items:stretch; box-shadow:0 16px 25px #20211f0d; }
  .navigation a { padding:12px; font-size:14px; }
  .navigation .nav-button { margin-top:8px; }
  .js .navigation { display:none; }
  .js .navigation.is-open { display:flex; flex-direction:column; gap:5px; }
  html:not(.js) .site-header { flex-wrap:wrap; padding-block:20px; }
  html:not(.js) .menu-toggle { display:none; }
  html:not(.js) .navigation { position:static; flex-wrap:wrap; padding:0; border:0; box-shadow:none; }
  .section { padding-block:64px; }
  .section-top { margin-bottom:28px; }
  .section-top>.micro { display:none; }
  .section-heading { flex-direction:column; align-items:flex-start; gap:22px; margin-bottom:30px; }
  h2 { letter-spacing:-1.8px; }
  .footer-main { flex-direction:column; gap:32px; padding-bottom:32px; }
  .footer-main nav { flex-wrap:wrap; gap:24px; }
  .footer-legal { gap:12px 24px; }
  .footer-legal>span { width:100%; }
  .footer-bottom { flex-wrap:wrap; }
  .footer-bottom>span:nth-child(2) { display:none; }
}
@media(prefers-reduced-motion:reduce) { html { scroll-behavior:auto; } *,*::before,*::after { animation:none!important; transition:none!important; } }
