@font-face{font-family:'Bricolage Grotesque';font-style:normal;font-weight:700;font-display:swap;src:url('assets/fonts/bricolage-grotesque-700-latin-ext.woff2') format('woff2');unicode-range:U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF}
@font-face{font-family:'Bricolage Grotesque';font-style:normal;font-weight:700;font-display:swap;src:url('assets/fonts/bricolage-grotesque-700-latin.woff2') format('woff2');unicode-range:U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD}
@font-face{font-family:'Figtree';font-style:normal;font-weight:400;font-display:swap;src:url('assets/fonts/figtree-400-latin-ext.woff2') format('woff2');unicode-range:U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF}
@font-face{font-family:'Figtree';font-style:normal;font-weight:400;font-display:swap;src:url('assets/fonts/figtree-400-latin.woff2') format('woff2');unicode-range:U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD}
@font-face{font-family:'Figtree';font-style:normal;font-weight:600;font-display:swap;src:url('assets/fonts/figtree-600-latin-ext.woff2') format('woff2');unicode-range:U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF}
@font-face{font-family:'Figtree';font-style:normal;font-weight:600;font-display:swap;src:url('assets/fonts/figtree-600-latin.woff2') format('woff2');unicode-range:U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD}

/* === tokens === */
:root{
  --gr-paper:#FFFFFF;
  --gr-shade:#F7F5F2;
  --gr-ink:#141210;
  --gr-ink-soft:#3D3833;
  --gr-mute:#6B655F;
  --gr-line:#E3DED7;
  --gr-accent:#C2410C;
  --gr-display:'Bricolage Grotesque','Trebuchet MS','Segoe UI',sans-serif;
  --gr-body:'Figtree','Helvetica Neue',Arial,sans-serif;
  --gr-s1:8px; --gr-s2:16px; --gr-s3:24px; --gr-s4:32px;
  --gr-s5:40px; --gr-s6:56px; --gr-s7:80px; --gr-s8:120px;
  --gr-shell:1200px;
  --gr-cut:14px;
  --gr-clip:polygon(0 0,100% 0,100% calc(100% - var(--gr-cut)),calc(100% - var(--gr-cut)) 100%,var(--gr-cut) 100%,0 calc(100% - var(--gr-cut)));
}

/* === base === */
*,*::before,*::after{box-sizing:border-box}
html{-webkit-text-size-adjust:100%;scroll-behavior:smooth}
body{
  margin:0;background:var(--gr-paper);color:var(--gr-ink);
  font-family:var(--gr-body);font-size:17px;line-height:1.62;font-weight:400;
  letter-spacing:-0.005em;-webkit-font-smoothing:antialiased;
}
img{max-width:100%;height:auto;display:block}
a{color:inherit}
h1,h2,h3,h4{font-family:var(--gr-display);font-weight:700;margin:0}
p{margin:0}
ul{margin:0}
:focus-visible{outline:3px solid var(--gr-accent);outline-offset:3px}

.gr-shell{width:100%;max-width:var(--gr-shell);margin:0 auto;padding-inline:24px}
.gr-skip{position:absolute;left:-9999px;top:0;background:var(--gr-ink);color:#fff;padding:12px 20px;z-index:60}
.gr-skip:focus{left:12px;top:12px}
.gr-label{
  font-size:12px;line-height:1.6;letter-spacing:.12em;text-transform:uppercase;
  color:var(--gr-mute);font-weight:600;margin:0 0 var(--gr-s2);
}
.gr-lede{font-size:19px;line-height:1.65;color:var(--gr-ink-soft);max-width:66ch}
.gr-vis-hidden{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}

/* === button shape (one geometry across the whole site) === */
.gr-btn,.gr-chip,.gr-top,.gr-nav-cta{
  position:relative;isolation:isolate;border:0;background:transparent;
  font-family:var(--gr-body);text-decoration:none;cursor:pointer;
}
.gr-btn::before,.gr-chip::before,.gr-top::before,.gr-nav-cta::before{
  content:"";position:absolute;inset:0;z-index:-1;clip-path:var(--gr-clip);
  transition:background-color .18s ease,transform .18s ease;
}
.gr-btn{
  display:inline-flex;align-items:center;gap:10px;min-height:52px;
  padding:14px 28px;font-size:16px;font-weight:600;letter-spacing:-0.01em;
}
.gr-btn--solid{color:#fff}
.gr-btn--solid::before{background:var(--gr-ink)}
.gr-btn--solid:hover::before{background:var(--gr-accent)}
.gr-btn--solid:active::before{transform:translateY(2px)}
.gr-btn--ghost{color:var(--gr-ink)}
.gr-btn--ghost::before{background:var(--gr-shade)}
.gr-btn--ghost:hover::before{background:var(--gr-ink)}
.gr-btn--ghost:hover{color:#fff}
.gr-btn--ghost:active::before{transform:translateY(2px)}
.gr-btn--play{font-size:15px;min-height:48px;padding:12px 22px;color:#fff}
.gr-btn--play::before{background:var(--gr-ink)}
.gr-btn--play:hover::before{background:var(--gr-accent)}
.gr-btn--play:active::before{transform:translateY(2px)}
.gr-btn svg{width:18px;height:18px;flex:none}
.gr-chip{
  display:inline-flex;align-items:center;min-height:30px;padding:5px 14px;
  --gr-cut:8px;font-size:12px;font-weight:600;letter-spacing:.1em;
  text-transform:uppercase;color:var(--gr-ink);
}
.gr-chip::before{background:#EFEAE3}
.gr-chip--accent{color:#fff}
.gr-chip--accent::before{background:var(--gr-accent)}

/* === header === */
.gr-head{position:sticky;top:0;z-index:40;background:var(--gr-paper);transition:box-shadow .2s ease}
.gr-head.is-stuck{box-shadow:0 10px 40px rgba(20,18,16,.09)}
.gr-head__row{display:flex;align-items:center;justify-content:space-between;gap:var(--gr-s3);min-height:76px}
.gr-logo{
  font-family:var(--gr-display);font-weight:700;font-size:25px;letter-spacing:-0.035em;
  text-decoration:none;color:var(--gr-ink);display:inline-flex;align-items:center;
  min-height:48px;
}
.gr-logo em{font-style:normal;color:var(--gr-accent)}
.gr-nav{display:flex;align-items:center;gap:var(--gr-s1)}
.gr-nav a{
  display:inline-flex;align-items:center;min-height:48px;padding:0 14px;
  font-size:15px;font-weight:600;letter-spacing:-0.01em;text-decoration:none;color:var(--gr-ink);
  position:relative;
}
.gr-nav a::after{
  content:"";position:absolute;left:14px;right:14px;bottom:18px;height:2px;
  background:var(--gr-accent);transform:scaleX(0);transform-origin:left;transition:transform .18s ease;
}
.gr-nav a:hover::after{transform:scaleX(1)}
.gr-nav-cta{
  display:inline-flex;align-items:center;min-height:48px;padding:12px 22px;margin-left:var(--gr-s1);
  --gr-cut:11px;font-size:15px;font-weight:600;color:#fff;letter-spacing:-0.01em;
}
.gr-nav-cta::before{background:var(--gr-ink)}
.gr-nav-cta:hover::before{background:var(--gr-accent)}
.gr-nav .gr-nav-cta{color:#fff}
.gr-nav .gr-nav-cta::after{content:none}
.gr-burger{
  display:none;width:52px;height:52px;align-items:center;justify-content:center;
  background:var(--gr-shade);border:0;cursor:pointer;color:var(--gr-ink);
  clip-path:var(--gr-clip);--gr-cut:10px;
}
.gr-burger svg{width:22px;height:22px}
.gr-burger .gr-burger__x{display:none}
.gr-burger[aria-expanded="true"] .gr-burger__x{display:block}
.gr-burger[aria-expanded="true"] .gr-burger__bars{display:none}

/* === hero === */
.gr-hero{padding-block:clamp(48px,7vw,88px) clamp(56px,7vw,96px)}
.gr-hero__grid{display:grid;grid-template-columns:minmax(0,1.15fr) minmax(0,.85fr);gap:clamp(32px,5vw,72px);align-items:start}
.gr-hero h1{
  font-size:clamp(42px,6.4vw,76px);line-height:.98;letter-spacing:-0.04em;
  margin-bottom:var(--gr-s3);
}
.gr-hero h1 em{font-style:normal;color:var(--gr-accent)}
.gr-hero__body p+p{margin-top:var(--gr-s2)}
.gr-hero__acts{display:flex;flex-wrap:wrap;gap:var(--gr-s2);margin-top:var(--gr-s5)}
.gr-stats{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:var(--gr-s3);margin-top:var(--gr-s4)}
.gr-stat__n{
  display:block;font-family:var(--gr-display);font-weight:700;
  font-size:clamp(56px,7vw,92px);line-height:.82;letter-spacing:-0.05em;
}
.gr-stat:first-child .gr-stat__n{color:var(--gr-accent)}
.gr-stat__t{display:block;font-size:14px;line-height:1.45;color:var(--gr-mute);margin-top:12px}
.gr-showcase{background:var(--gr-shade);padding:var(--gr-s4) var(--gr-s3) var(--gr-s3);border-radius:36px 36px 8px 36px}
.gr-showcase__list{list-style:none;padding:0;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:var(--gr-s3) var(--gr-s2)}
.gr-showcase__list li{text-align:center}
.gr-showcase img{width:60px;height:60px;border-radius:16px;margin:0 auto 10px}
.gr-showcase span{display:block;font-size:12px;line-height:1.4;color:var(--gr-ink-soft);letter-spacing:-0.005em}

/* === section frames === */
.gr-cat{background:var(--gr-shade);padding-block:clamp(56px,7vw,96px)}
.gr-cmp{padding-block:clamp(64px,8vw,112px)}
.gr-sechead{max-width:74ch;margin-bottom:clamp(32px,4vw,52px)}
.gr-sechead h2{font-size:clamp(30px,4.2vw,48px);line-height:1.04;letter-spacing:-0.035em;margin-bottom:var(--gr-s2)}
.gr-sechead p{color:var(--gr-ink-soft);font-size:18px}

/* === masonry catalogue === */
.gr-masonry{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:var(--gr-s4);align-items:start}
.gr-col{display:flex;flex-direction:column;gap:var(--gr-s4);width:100%}
.gr-col--b{margin-top:72px}
.gr-card{background:var(--gr-paper);padding:var(--gr-s4);border-radius:28px 28px 28px 6px;width:100%}
.gr-card--wide{border-radius:6px 28px 28px 28px}
.gr-card__top{display:flex;align-items:center;gap:var(--gr-s2);margin-bottom:var(--gr-s3)}
.gr-card__top img{width:64px;height:64px;border-radius:18px;flex:none}
.gr-card h3{font-size:23px;line-height:1.15;letter-spacing:-0.02em}
.gr-card__meta{display:flex;flex-wrap:wrap;gap:10px;align-items:center;margin-top:10px}
.gr-card__rate{font-size:13px;font-weight:600;color:var(--gr-ink-soft);letter-spacing:-0.005em}
.gr-card__rate b{font-family:var(--gr-display);font-size:16px;letter-spacing:-0.02em}
.gr-card p{color:var(--gr-ink-soft);font-size:16.5px}
.gr-shots{display:grid;gap:var(--gr-s2);margin-top:var(--gr-s3)}
.gr-shots--two{grid-template-columns:repeat(2,minmax(0,1fr))}
.gr-shots figure{margin:0;width:100%}
.gr-shots img{width:100%;aspect-ratio:720/404;object-fit:cover;border-radius:14px}
.gr-shots figcaption{font-size:12px;color:var(--gr-mute);margin-top:8px;letter-spacing:.02em}

.gr-card__foot{margin-top:var(--gr-s3)}
.gr-card__tags{list-style:none;padding:0;margin:var(--gr-s3) 0 0;display:flex;flex-wrap:wrap;gap:10px}
.gr-card__tags li{font-size:13px;color:var(--gr-mute);letter-spacing:-0.005em}
.gr-card__tags li::before{content:"—";margin-right:8px;color:var(--gr-accent)}

/* === comparison table === */
.gr-tablewrap{width:100%;overflow-x:auto}
.gr-tablewrap:focus-visible{outline:3px solid var(--gr-accent);outline-offset:6px}
.gr-table{width:100%;border-collapse:collapse;min-width:820px;text-align:left}
.gr-table caption{
  caption-side:top;text-align:left;font-size:14px;line-height:1.6;color:var(--gr-mute);
  padding-bottom:var(--gr-s3);max-width:88ch;
}
.gr-table thead th{
  font-family:var(--gr-body);font-size:12px;font-weight:600;letter-spacing:.11em;
  text-transform:uppercase;color:var(--gr-mute);padding:0 16px 14px;vertical-align:bottom;
}
.gr-table thead tr{border-bottom:1px solid var(--gr-line)}
.gr-table tbody th{
  font-family:var(--gr-display);font-weight:700;font-size:17px;letter-spacing:-0.02em;
  padding:20px 16px;vertical-align:top;
}
.gr-table td{font-size:15px;padding:20px 16px;vertical-align:top;color:var(--gr-ink-soft)}
.gr-table tbody tr:nth-child(odd){background:var(--gr-shade)}
.gr-table tbody th:first-child,.gr-table tbody td:first-of-type{padding-left:20px}
.gr-off{display:inline-flex;align-items:center;gap:8px}
.gr-off svg{width:17px;height:17px;flex:none;color:var(--gr-accent)}
.gr-score{font-family:var(--gr-display);font-size:19px;letter-spacing:-0.03em;color:var(--gr-ink)}
.gr-note{margin-top:var(--gr-s4);font-size:15px;line-height:1.7;color:var(--gr-mute);max-width:80ch}
.gr-note strong{color:var(--gr-ink-soft);font-weight:600}

/* === legal pages === */
.gr-doc{padding-block:clamp(48px,6vw,80px) clamp(56px,7vw,96px)}
.gr-doc h1{font-size:clamp(34px,5vw,58px);line-height:1.02;letter-spacing:-0.038em;margin-bottom:var(--gr-s2)}
.gr-doc__date{font-size:14px;color:var(--gr-mute);letter-spacing:.04em;margin-bottom:var(--gr-s5)}
.gr-doc__body{max-width:76ch}
.gr-doc__body h2{font-size:clamp(22px,2.6vw,28px);line-height:1.15;letter-spacing:-0.025em;margin:var(--gr-s6) 0 var(--gr-s2)}
.gr-doc__body p{color:var(--gr-ink-soft);margin-bottom:var(--gr-s2)}
.gr-doc__body ul{padding-left:22px;margin:0 0 var(--gr-s2);color:var(--gr-ink-soft)}
.gr-doc__body li{margin-bottom:10px}
.gr-doc__body a{color:var(--gr-accent);text-underline-offset:3px}
.gr-doc__back{margin-top:var(--gr-s6)}

/* === 404 === */
.gr-oops{padding-block:clamp(72px,10vw,140px);text-align:center}
.gr-oops__code{font-family:var(--gr-display);font-weight:700;font-size:clamp(96px,18vw,200px);line-height:.8;letter-spacing:-0.055em;color:var(--gr-accent)}
.gr-oops h1{font-size:clamp(28px,4vw,44px);line-height:1.08;letter-spacing:-0.03em;margin:var(--gr-s3) 0 var(--gr-s2)}
.gr-oops p{color:var(--gr-ink-soft);margin:0 auto;max-width:56ch}
.gr-oops .gr-btn{margin-top:var(--gr-s5)}

/* === footer === */
.gr-foot{background:var(--gr-ink);color:#F3F0EC;padding-block:clamp(56px,7vw,88px) var(--gr-s5);margin-top:0}
.gr-foot a{color:#F3F0EC}
.gr-foot__grid{display:grid;grid-template-columns:minmax(0,1.25fr) minmax(0,.9fr) minmax(0,.7fr) minmax(0,.7fr);gap:var(--gr-s5) var(--gr-s4)}
.gr-foot__logo{font-family:var(--gr-display);font-weight:700;font-size:27px;letter-spacing:-0.035em;text-decoration:none;display:inline-block}
.gr-foot__logo em{font-style:normal;color:var(--gr-accent)}
.gr-foot__grid h2,.gr-foot__grid h3{
  font-family:var(--gr-body);font-size:12px;font-weight:600;letter-spacing:.12em;
  text-transform:uppercase;color:#B3ABA3;margin-bottom:var(--gr-s2);
}
.gr-foot p{color:#CFC8C1;font-size:15.5px;line-height:1.65}
.gr-contact p{margin-bottom:var(--gr-s2)}
.gr-mail{
  font-family:var(--gr-display);font-size:clamp(20px,2.3vw,26px);letter-spacing:-0.025em;
  text-decoration:none;display:inline-block;min-height:48px;line-height:1.6;
  text-decoration-line:underline;text-decoration-thickness:2px;text-underline-offset:5px;
  text-decoration-color:var(--gr-accent);
}
.gr-mail:hover{text-decoration-thickness:4px}
.gr-foot__links{list-style:none;padding:0;margin:0}
.gr-foot__links li{margin-bottom:2px}
.gr-foot__links a{display:inline-flex;align-items:center;min-height:44px;font-size:15.5px;text-decoration:none}
.gr-foot__links a:hover{text-decoration:underline;text-underline-offset:4px}
.gr-foot__base{margin-top:var(--gr-s6);display:flex;flex-wrap:wrap;gap:var(--gr-s2) var(--gr-s4);justify-content:space-between}
.gr-foot__base p{font-size:13.5px;color:#A79F97;max-width:72ch}

/* === cookie banner === */
.gr-cookie{
  position:fixed;left:16px;right:16px;bottom:16px;z-index:50;display:none;
  background:var(--gr-paper);color:var(--gr-ink);padding:var(--gr-s3);
  border-radius:24px 24px 24px 6px;box-shadow:0 16px 60px rgba(20,18,16,.18);
  max-width:640px;
}
.gr-cookie.is-on{display:block}
.gr-cookie h2{font-size:19px;letter-spacing:-0.02em;margin-bottom:10px}
.gr-cookie p{font-size:14.5px;line-height:1.55;color:var(--gr-ink-soft)}
.gr-cookie a{color:var(--gr-accent)}
.gr-cookie__acts{display:flex;flex-wrap:wrap;gap:12px;margin-top:var(--gr-s3)}
.gr-cookie .gr-btn{min-height:48px;padding:12px 22px;font-size:15px}

/* === back to top === */
.gr-top{
  position:fixed;right:20px;bottom:20px;z-index:45;width:52px;height:52px;
  display:none;align-items:center;justify-content:center;color:#fff;--gr-cut:12px;
}
.gr-top::before{background:var(--gr-ink)}
.gr-top:hover::before{background:var(--gr-accent)}
.gr-top.is-on{display:inline-flex}
.gr-top svg{width:20px;height:20px}

/* === responsive === */
@media (max-width:1040px){
  .gr-hero__grid{grid-template-columns:1fr;gap:var(--gr-s5)}
  .gr-showcase{border-radius:32px 32px 6px 32px}
  .gr-foot__grid{grid-template-columns:repeat(2,minmax(0,1fr))}
}
@media (max-width:880px){
  .gr-nav{display:none}
  .gr-burger{display:inline-flex}
  .gr-head.is-open .gr-nav{
    display:flex;flex-direction:column;align-items:stretch;position:absolute;
    left:0;right:0;top:100%;background:var(--gr-paper);padding:var(--gr-s2) 24px var(--gr-s4);
    box-shadow:0 24px 50px rgba(20,18,16,.12);gap:0;
  }
  .gr-head.is-open .gr-nav a{min-height:56px;font-size:18px;padding-inline:0}
  .gr-head.is-open .gr-nav a::after{left:0;right:auto;width:28px;bottom:14px}
  .gr-head.is-open .gr-nav-cta{margin-left:0;margin-top:var(--gr-s2);justify-content:center}
  .gr-head.is-open .gr-nav-cta::after{display:none}
  .gr-head__row{position:relative}
  .gr-masonry{grid-template-columns:1fr;gap:var(--gr-s4)}
  .gr-col--b{margin-top:0}
  .gr-cookie{max-width:none}
  .gr-table caption{position:sticky;left:0;width:calc(100vw - 48px)}
}
@media (max-width:620px){
  body{font-size:16px}
  .gr-shell{padding-inline:18px}
  .gr-stats{grid-template-columns:1fr;gap:var(--gr-s3)}
  .gr-stat{display:flex;align-items:baseline;gap:16px}
  .gr-stat__n{font-size:52px}
  .gr-stat__t{margin-top:0}
  .gr-showcase__list{grid-template-columns:repeat(2,minmax(0,1fr))}
  .gr-card{padding:var(--gr-s3)}
  .gr-shots--two{grid-template-columns:1fr}
  .gr-foot__grid{grid-template-columns:1fr}
  .gr-hero__acts .gr-btn{width:100%;justify-content:center}
  .gr-table caption{width:calc(100vw - 36px)}
}

@media (prefers-reduced-motion:reduce){
  html{scroll-behavior:auto}
  *,*::before,*::after{transition-duration:.01ms !important;animation-duration:.01ms !important}
}

.gr-faq{padding:var(--gr-s7) 0 var(--gr-s8)}
.gr-acc{width:100%;margin-top:var(--gr-s5);border-top:1px solid var(--gr-line)}
.gr-q{border-bottom:1px solid var(--gr-line)}
.gr-q summary{display:flex;align-items:center;justify-content:space-between;gap:var(--gr-s3);cursor:pointer;list-style:none;padding:var(--gr-s3) 0;min-height:48px;font-family:var(--gr-display);font-size:clamp(1.08rem,2vw,1.42rem);font-weight:700;letter-spacing:-.015em;line-height:1.25;color:var(--gr-ink)}
.gr-q summary::-webkit-details-marker{display:none}
.gr-q summary:focus-visible{outline:2px solid var(--gr-accent);outline-offset:6px}
.gr-q summary:hover{color:var(--gr-accent)}
.gr-sign{width:22px;height:22px;flex:none;color:var(--gr-accent);transition:transform .2s ease}
.gr-q[open] .gr-sign{transform:rotate(45deg)}
.gr-a{padding:0 0 var(--gr-s4);max-width:76ch}
.gr-a p{color:var(--gr-ink-soft);font-size:16.5px;line-height:1.68}
@media (prefers-reduced-motion:reduce){.gr-sign{transition:none}}
