@import url('https://fonts.googleapis.com/css2?family=DM+Sans:wght@400;500;600;700&family=Space+Grotesk:wght@400;500;600;700&display=swap');

:root { --ink:#10261f; --ink-2:#18362b; --cream:#f5f1e9; --paper:#fbfaf6; --lime:#d4f15a; --orange:#ff7548; --line:rgba(16,38,31,.16); --muted:#66726b; --sans:'DM Sans',sans-serif; --display:'Space Grotesk',sans-serif; }
* { box-sizing:border-box; }
html { scroll-behavior:smooth; }
body { margin:0; background:var(--paper); color:var(--ink); font-family:var(--sans); font-size:16px; line-height:1.5; overflow-x:hidden; }
img { display:block; max-width:100%; }
a { color:inherit; text-decoration:none; }
.container { width:min(1180px,calc(100% - 56px)); margin:0 auto; }
.announcement { background:var(--lime); font-size:12px; font-weight:600; letter-spacing:.02em; }
.announcement-inner { min-height:34px; display:flex; align-items:center; gap:10px; }
.announcement a { margin-left:auto; text-decoration:underline; text-underline-offset:3px; }
.pulse { width:7px; height:7px; border-radius:50%; background:var(--ink); }
.site-header { height:82px; background:var(--paper); border-bottom:1px solid var(--line); position:relative; z-index:5; }
.nav-wrap { height:100%; display:flex; align-items:center; gap:50px; }
.brand { display:flex; align-items:center; gap:10px; line-height:1; }
.brand-mark { display:grid; place-items:center; background:var(--orange); color:var(--ink); width:37px; height:37px; border-radius:50%; font:700 22px var(--display); transform:rotate(-9deg); }
.brand strong { display:block; font:700 23px var(--display); letter-spacing:-.08em; }
.brand small { display:block; font-size:7px; letter-spacing:.13em; margin-top:3px; font-weight:700; }
.main-nav { display:flex; align-items:center; gap:31px; font-size:13px; font-weight:600; margin-left:auto; }
.main-nav a:hover,.footer-nav a:hover,.social-nav a:hover,.contact-links a:hover { color:var(--orange); }
.nav-caret { font-size:16px; margin-left:2px; }
.nav-cta,.button { display:inline-flex; align-items:center; justify-content:center; gap:14px; font-weight:700; font-size:13px; padding:13px 19px; border-radius:3px; transition:transform .2s,background .2s,color .2s; }
.nav-cta { border:1px solid var(--ink); margin-left:1px; }
.nav-cta:hover,.button:hover { transform:translateY(-2px); }
.nav-cta span,.button span { font-size:17px; line-height:0; }
.menu-toggle { display:none; border:0; background:transparent; padding:8px; }
.menu-toggle span { display:block; width:23px; height:2px; background:var(--ink); margin:4px; }
.hero { background:var(--cream); padding:70px 0 0; }
.hero-grid { display:grid; grid-template-columns:47% 53%; min-height:570px; }
.hero-copy { padding:55px 30px 40px 0; position:relative; z-index:1; }
.eyebrow { display:flex; align-items:center; gap:10px; text-transform:uppercase; letter-spacing:.13em; font-size:10px; font-weight:700; }
.eyebrow-line { display:inline-block; width:27px; height:1px; background:currentColor; }
h1,h2,h3,p { margin-top:0; }
h1,h2 { font-family:var(--display); letter-spacing:-.07em; line-height:.96; margin-bottom:27px; }
h1 { font-size:clamp(57px,6.9vw,94px); max-width:660px; margin-top:22px; }
h1 em,h2 em,blockquote em { color:var(--orange); font-style:normal; }
.hero-lead { color:#50605a; max-width:458px; font-size:16px; line-height:1.65; margin-bottom:32px; }
.hero-actions { display:flex; gap:26px; align-items:center; }
.button-dark { background:var(--ink); color:var(--paper); }
.button-dark:hover { background:var(--orange); color:var(--ink); }
.text-link { display:inline-flex; align-items:center; gap:10px; font-weight:700; font-size:13px; border-bottom:1px solid currentColor; padding-bottom:5px; }
.text-link span { font-size:20px; font-weight:400; transition:transform .2s; }
.text-link:hover span { transform:translateX(4px); }
.hero-proof { display:flex; align-items:center; gap:13px; margin-top:62px; }
.proof-avatars { display:flex; }
.proof-avatars span { width:27px; height:27px; border:2px solid var(--cream); border-radius:50%; display:grid; place-items:center; background:var(--ink); color:var(--lime); font-size:10px; font-weight:700; margin-left:-5px; }
.proof-avatars span:first-child { margin-left:0; background:var(--orange); color:var(--ink); }
.proof-avatars span:nth-child(2) { background:#c1d5c6; color:var(--ink); }
.hero-proof p { font-size:10px; line-height:1.25; margin:0; }
.hero-proof strong { font-size:12px; }
.hero-proof p span { color:var(--muted); }
.hero-visual { position:relative; min-height:560px; }
.hero-image-wrap { position:absolute; inset:0 0 0 34px; overflow:hidden; background:#b9c7a5; }
.hero-image-wrap img { width:100%; height:100%; object-fit:cover; object-position:58% center; mix-blend-mode:multiply; filter:saturate(.9) contrast(1.05); }
.image-tint { position:absolute; inset:0; background:linear-gradient(110deg,rgba(18,44,31,.18),transparent 45%,rgba(255,117,72,.15)); }
.hero-sticker { width:141px; height:141px; display:flex; flex-direction:column; align-items:center; justify-content:center; gap:0; border-radius:50%; background:var(--lime); position:absolute; top:53px; left:0; transform:rotate(-13deg); color:var(--ink); text-align:center; }
.sticker-icon { font-size:22px; line-height:1; }
.hero-sticker strong { font:700 43px var(--display); letter-spacing:-.1em; line-height:.9; }
.hero-sticker > span:last-child { font-size:9px; line-height:1.2; font-weight:700; }
.hero-caption { position:absolute; bottom:0; left:68px; right:0; background:var(--ink); color:var(--paper); min-height:110px; padding:23px 25px; display:flex; gap:21px; align-items:flex-start; }
.hero-caption > span:first-child { color:var(--lime); font-size:11px; font-weight:700; }
.hero-caption strong { display:block; font:500 19px/1.05 var(--display); letter-spacing:-.04em; }
.hero-caption small { color:#a7b4ad; font-size:9px; display:block; margin-top:10px; }
.caption-arrow { margin-left:auto; font-size:23px; color:var(--lime); }
.hero-bottom { border-top:1px solid var(--line); min-height:69px; display:flex; align-items:center; gap:34px; font-size:9px; font-weight:700; letter-spacing:.08em; }
.hero-bottom > span { color:var(--muted); }
.trust-list { display:flex; gap:24px; color:var(--ink); }
.scroll-cue { margin-left:auto; color:var(--muted); letter-spacing:0; text-transform:none; font-weight:500; }
.scroll-cue span { font-size:17px; margin-left:6px; }
.marquee { overflow:hidden; background:var(--orange); padding:15px 0; white-space:nowrap; }
.marquee-track { display:flex; width:max-content; gap:29px; align-items:center; animation:move 25s linear infinite; font:600 13px var(--display); letter-spacing:.12em; }
.marquee b { color:var(--lime); font-size:17px; }
@keyframes move { to { transform:translateX(-50%); } }
.section { padding:119px 0; }
.split-heading { display:grid; grid-template-columns:1fr 1fr; margin-bottom:64px; }
h2 { font-size:clamp(48px,6vw,76px); margin-top:21px; }
.heading-side { padding:28px 0 0 70px; max-width:500px; }
.heading-side p { color:var(--muted); font-size:15px; line-height:1.7; max-width:380px; margin-bottom:23px; }
.product-grid { display:grid; grid-template-columns:1.23fr 1fr 1fr; grid-template-rows:360px 310px; gap:17px; }
.product-card { min-height:310px; position:relative; overflow:hidden; color:var(--paper); background:var(--ink); }
.product-card-large { grid-row:span 2; }
.product-card-wide { grid-column:span 2; }
.product-card img { position:absolute; inset:0; width:100%; height:100%; object-fit:cover; transition:transform .6s; }
.product-card:hover img { transform:scale(1.06); }
.product-card:after { content:''; position:absolute; inset:0; background:linear-gradient(180deg,rgba(16,38,31,.05) 20%,rgba(16,38,31,.83) 100%); }
.card-label { position:absolute; top:20px; left:22px; z-index:1; font-size:9px; text-transform:uppercase; letter-spacing:.11em; }
.product-card-bottom { position:absolute; z-index:1; bottom:21px; left:22px; right:21px; display:flex; align-items:flex-end; justify-content:space-between; }
.product-card h3 { font:500 clamp(24px,2.6vw,35px)/.98 var(--display); letter-spacing:-.06em; margin:0 0 9px; }
.product-card p { font-size:11px; color:#d6dfd5; margin:0; }
.round-arrow { display:grid; place-items:center; width:40px; height:40px; background:var(--lime); color:var(--ink); border-radius:50%; font-size:20px; transition:transform .2s; }
.product-card:hover .round-arrow { transform:rotate(45deg); }
.product-card:nth-child(2) img { object-position:center; }
.product-card:nth-child(3) img { object-position:65% center; }
.abstract-art { position:absolute; inset:0; background:var(--ink-2); overflow:hidden; }
.abstract-art:before,.abstract-art:after { content:''; position:absolute; border-radius:50%; border:34px solid var(--lime); width:180px; height:180px; }
.abstract-art:before { top:-86px; right:18%; }
.abstract-art:after { bottom:-135px; left:13%; border-color:var(--orange); width:260px; height:260px; }
.abstract-art span { position:absolute; z-index:1; left:46%; top:31%; font:700 89px var(--display); letter-spacing:-.1em; color:#d7e5cd; transform:rotate(-8deg); }
.product-list { display:grid; grid-template-columns:repeat(3,1fr); margin-top:50px; border-top:1px solid var(--line); }
.product-list a { padding:17px 9px 17px 0; border-bottom:1px solid var(--line); font:500 16px var(--display); letter-spacing:-.03em; display:flex; gap:14px; transition:color .2s,padding .2s; }
.product-list a:hover { color:var(--orange); padding-left:6px; }
.product-list span { color:var(--muted); font:10px var(--sans); letter-spacing:.06em; }
.dark-section { background:var(--ink); color:var(--paper); }
.dark-heading .heading-side p,.dark-section .stat-item p { color:#a6b8ad; }
.dark-heading .eyebrow { color:var(--lime); }
.dark-heading h2 em { color:var(--lime); }
.stats-grid { display:grid; grid-template-columns:repeat(4,1fr); border-top:1px solid rgba(245,241,233,.22); border-bottom:1px solid rgba(245,241,233,.22); margin-bottom:82px; }
.stat-item { padding:28px 24px 28px 0; border-right:1px solid rgba(245,241,233,.22); display:flex; align-items:baseline; gap:16px; }
.stat-item:not(:first-child) { padding-left:27px; }
.stat-item:last-child { border:0; }
.stat-item strong { font:500 clamp(38px,4.5vw,61px) var(--display); letter-spacing:-.08em; color:var(--lime); }
.stat-item strong span { font-size:.5em; }
.stat-item p { margin:0; font-size:11px; line-height:1.25; }
.advantage-grid { display:grid; grid-template-columns:36% 64%; gap:50px; }
.advantage-intro { padding-right:55px; }
.big-asterisk { font-size:61px; color:var(--orange); display:block; line-height:1; margin-bottom:28px; }
.advantage-intro p { color:#cad6ce; font:500 20px/1.35 var(--display); letter-spacing:-.03em; }
.advantage-list > div { display:grid; grid-template-columns:47px 1fr; grid-template-rows:auto auto; border-top:1px solid rgba(245,241,233,.22); padding:23px 0; }
.advantage-list > div:last-child { border-bottom:1px solid rgba(245,241,233,.22); }
.advantage-list span { color:var(--lime); font-size:10px; font-weight:700; }
.advantage-list h3 { font:500 21px var(--display); letter-spacing:-.04em; margin:0; }
.advantage-list p { grid-column:2; color:#a6b8ad; font-size:13px; max-width:510px; margin:7px 0 0; }
.process-section { background:var(--lime); }
.centered { text-align:center; max-width:680px; margin:0 auto 75px; }
.centered .eyebrow { justify-content:center; }
.centered h2 { margin-bottom:19px; }
.centered p { color:#4f5b3d; max-width:400px; margin:0 auto; font-size:15px; }
.process-grid { display:grid; grid-template-columns:repeat(4,1fr); border-top:1px solid rgba(16,38,31,.28); }
.process-step { padding:30px 27px 0 0; border-right:1px solid rgba(16,38,31,.28); min-height:225px; position:relative; }
.process-step:not(:first-child) { padding-left:27px; }
.process-step:last-child { border:0; }
.process-number { font-size:10px; font-weight:700; }
.process-icon { font-size:35px; margin:25px 0 17px; line-height:1; }
.process-step h3 { font:500 25px var(--display); letter-spacing:-.05em; margin:0 0 9px; }
.process-step p { color:#4f5b3d; font-size:12px; line-height:1.5; max-width:210px; margin:0; }
.about-section { background:var(--cream); }
.about-grid { display:grid; grid-template-columns:1fr 1fr; gap:105px; align-items:center; }
.about-image { position:relative; height:560px; }
.about-image img { width:100%; height:100%; object-fit:cover; filter:saturate(.82); }
.about-note { position:absolute; background:var(--orange); bottom:27px; right:-39px; width:155px; height:180px; padding:19px; display:flex; flex-direction:column; justify-content:space-between; transform:rotate(3deg); }
.about-note span { font-size:9px; font-weight:700; letter-spacing:.08em; }
.about-note strong { font:500 29px/.92 var(--display); letter-spacing:-.08em; }
.about-copy h2 { margin-bottom:23px; }
.about-copy > p { color:var(--muted); max-width:415px; font-size:15px; line-height:1.68; }
.button-outline { border:1px solid var(--ink); margin-top:14px; }
.button-outline:hover { background:var(--ink); color:var(--paper); }
.signature { margin-top:47px; font:italic 19px var(--display); }
.signature span { display:inline-block; color:var(--orange); margin-left:9px; font-style:normal; }
.testimonial-section { background:var(--orange); padding:90px 0; }
.testimonial-grid { display:grid; grid-template-columns:12% 1fr 18%; align-items:center; }
.quote-mark { font:500 125px/.6 var(--display); color:var(--lime); }
blockquote { margin:0; font:500 clamp(31px,4.5vw,60px)/1.04 var(--display); letter-spacing:-.07em; }
blockquote em { color:var(--ink); }
.quote-source { padding-left:25px; }
.source-line { display:block; width:35px; height:1px; background:var(--ink); margin-bottom:15px; }
.quote-source p { font-size:11px; line-height:1.3; margin:0; }
.faq-section { background:var(--paper); }
.faq-grid { display:grid; grid-template-columns:38% 62%; gap:75px; }
.faq-intro { color:var(--muted); max-width:290px; font-size:14px; line-height:1.6; margin-bottom:25px; }
.faq-list details { border-top:1px solid var(--line); padding:22px 0; }
.faq-list details:last-child { border-bottom:1px solid var(--line); }
.faq-list summary { cursor:pointer; list-style:none; display:flex; justify-content:space-between; gap:20px; font:500 18px var(--display); letter-spacing:-.03em; }
.faq-list summary::-webkit-details-marker { display:none; }
.faq-list summary span { color:var(--orange); font-size:24px; line-height:1; transition:transform .2s; }
.faq-list details[open] summary span { transform:rotate(45deg); }
.faq-list details p { color:var(--muted); font-size:14px; max-width:650px; margin:15px 35px 0 0; }
.contact-section { background:var(--cream); padding-top:0; }
.contact-card { background:var(--ink); color:var(--paper); display:grid; grid-template-columns:40% 60%; padding:57px 63px 61px; }
.contact-copy { padding-right:45px; }
.contact-copy .eyebrow { color:var(--lime); }
.contact-copy h2 { margin-bottom:21px; }
.contact-copy h2 em { color:var(--lime); }
.contact-copy > p { color:#a6b8ad; font-size:14px; line-height:1.6; max-width:335px; }
.contact-links { margin-top:43px; display:flex; flex-direction:column; gap:13px; }
.contact-links a { display:flex; align-items:center; gap:10px; font-size:12px; font-weight:600; }
.contact-links a > span:last-child { margin-left:auto; color:var(--lime); font-size:17px; }
.contact-icon { width:20px; height:20px; display:grid; place-items:center; border:1px solid var(--lime); border-radius:50%; color:var(--lime); font-size:11px; }
#inquiry-form { padding-left:55px; border-left:1px solid rgba(245,241,233,.24); display:flex; flex-direction:column; gap:17px; }
#inquiry-form label { display:flex; flex-direction:column; gap:7px; font-size:10px; text-transform:uppercase; letter-spacing:.1em; font-weight:700; }
.form-row { display:grid; grid-template-columns:1fr 1fr; gap:17px; }
#inquiry-form input,#inquiry-form select,#inquiry-form textarea { font:14px var(--sans); color:var(--paper); background:transparent; border:0; border-bottom:1px solid rgba(245,241,233,.38); border-radius:0; padding:9px 0; outline:0; resize:vertical; }
#inquiry-form input:focus,#inquiry-form select:focus,#inquiry-form textarea:focus { border-color:var(--lime); }
#inquiry-form input::placeholder,#inquiry-form textarea::placeholder { color:#7d9286; }
#inquiry-form select { color:#dbe5dd; }
#inquiry-form select option { color:var(--ink); }
.button-light { align-self:flex-start; background:var(--lime); color:var(--ink); border:0; margin-top:4px; cursor:pointer; }
.button-light:hover { background:var(--orange); }
.form-note { color:#7d9286; font-size:10px; margin:0; }
.site-footer { background:var(--ink); color:var(--paper); padding:65px 0 22px; }
.footer-top { display:grid; grid-template-columns:1.3fr 1.3fr 1fr 1fr; gap:30px; padding-bottom:67px; }
.brand-light .brand-mark { background:var(--lime); }
.footer-top > p { color:#a6b8ad; font:500 19px/1.08 var(--display); letter-spacing:-.04em; }
.footer-nav,.social-nav { display:flex; flex-direction:column; gap:10px; font-size:12px; }
.footer-nav a:first-child,.social-nav a:first-child { color:var(--lime); }
.footer-bottom { border-top:1px solid rgba(245,241,233,.2); padding-top:20px; display:flex; justify-content:space-between; color:#7d9286; font-size:10px; }
.footer-bottom a { color:var(--paper); }
@media (max-width:900px) { .nav-wrap { gap:20px; } .main-nav { gap:16px; } .hero-grid { grid-template-columns:1fr; } .hero-copy { padding-bottom:65px; } .hero-visual { min-height:530px; } .hero-bottom { flex-wrap:wrap; padding:17px 0; gap:14px; } .scroll-cue { display:none; } .product-grid { grid-template-columns:1fr 1fr; grid-template-rows:350px 300px 300px; } .product-card-large { grid-row:span 2; } .product-card-wide { grid-column:span 2; } .stats-grid { grid-template-columns:1fr 1fr; } .stat-item:nth-child(2) { border-right:0; } .stat-item:nth-child(3),.stat-item:nth-child(4) { border-top:1px solid rgba(245,241,233,.22); } .advantage-grid { grid-template-columns:1fr; } .advantage-intro { padding:0; max-width:550px; } .about-grid { gap:60px; } .contact-card { padding:45px 35px; } .contact-copy { padding-right:25px; } #inquiry-form { padding-left:30px; } }
@media (max-width:650px) { .container { width:min(100% - 36px,1180px); } .announcement-inner { min-height:43px; font-size:10px; } .announcement a { display:none; } .site-header { height:70px; } .menu-toggle { display:block; margin-left:auto; } .main-nav { display:none; position:absolute; top:70px; left:0; right:0; padding:22px 18px; background:var(--paper); border-bottom:1px solid var(--line); flex-direction:column; align-items:flex-start; gap:19px; } .main-nav.is-open { display:flex; } .nav-cta { display:none; } .hero { padding-top:34px; } .hero-copy { padding-top:25px; } h1 { font-size:59px; } .hero-actions { flex-wrap:wrap; gap:18px; } .hero-proof { margin-top:40px; } .hero-visual { min-height:410px; } .hero-image-wrap { inset:0; } .hero-sticker { width:106px; height:106px; left:8px; top:24px; } .hero-sticker strong { font-size:33px; } .hero-caption { left:22px; min-height:92px; padding:18px; } .hero-caption strong { font-size:16px; } .hero-bottom > span { width:100%; } .trust-list { gap:13px; flex-wrap:wrap; } .section { padding:78px 0; } .split-heading { display:block; margin-bottom:43px; } .heading-side { padding:0; } h2 { font-size:53px; } .product-grid { display:flex; flex-direction:column; } .product-card,.product-card-large,.product-card-wide { min-height:300px; } .product-card-large { min-height:390px; } .product-list { grid-template-columns:1fr 1fr; margin-top:38px; } .product-list a { font-size:14px; } .stats-grid { grid-template-columns:1fr 1fr; margin-bottom:57px; } .stat-item { padding:20px 10px 20px 0!important; gap:8px; } .stat-item:nth-child(even) { padding-left:10px!important; } .stat-item strong { font-size:39px; } .stat-item p { font-size:9px; } .advantage-list h3 { font-size:18px; } .process-grid { grid-template-columns:1fr 1fr; } .process-step { min-height:230px; padding-right:14px; } .process-step:not(:first-child) { padding-left:14px; } .process-step:nth-child(2) { border-right:0; } .process-step:nth-child(3),.process-step:nth-child(4) { border-top:1px solid rgba(16,38,31,.28); } .about-grid { display:flex; flex-direction:column; gap:45px; align-items:stretch; } .about-image { height:390px; margin-right:18px; } .about-note { right:-18px; width:126px; height:145px; } .about-note strong { font-size:24px; } .testimonial-section { padding:63px 0; } .testimonial-grid { display:block; } .quote-mark { font-size:82px; margin-bottom:14px; } blockquote { font-size:39px; } .quote-source { padding:27px 0 0 35px; } .faq-grid { display:block; } .faq-list { margin-top:48px; } .faq-list summary { font-size:16px; } .contact-card { display:block; padding:38px 24px; } .contact-copy { padding:0; } .contact-links { margin:30px 0 39px; } #inquiry-form { border-left:0; border-top:1px solid rgba(245,241,233,.24); padding:34px 0 0; } .form-row { display:block; } .form-row label + label { margin-top:17px; } .footer-top { grid-template-columns:1fr 1fr; gap:40px 20px; padding-bottom:45px; } .footer-top > p { grid-column:span 2; grid-row:2; } .footer-nav { grid-column:1; grid-row:3; } .social-nav { grid-column:2; grid-row:3; } .footer-bottom { flex-wrap:wrap; gap:11px; } .footer-bottom span:nth-child(2) { display:none; } }

/* Shared styles for the inner pages. */
.inner-hero { background:var(--cream); padding:96px 0 103px; overflow:hidden; }
.inner-hero-grid { display:grid; grid-template-columns:54% 46%; align-items:center; min-height:380px; }
.inner-hero h1 { font-size:clamp(58px,7vw,91px); margin:22px 0 23px; }
.inner-hero p { color:var(--muted); font-size:16px; line-height:1.65; max-width:490px; margin-bottom:30px; }
.inner-hero-art { background:var(--ink); height:370px; position:relative; overflow:hidden; transform:rotate(3deg); }
.inner-hero-art:before { content:''; position:absolute; inset:0; background:linear-gradient(140deg,transparent 45%,rgba(212,241,90,.13)); }
.art-orbit { position:absolute; border:2px solid var(--lime); border-radius:50%; width:390px; height:180px; transform:rotate(-31deg); }
.orbit-one { left:-40px; top:74px; }
.orbit-two { left:70px; top:120px; border-color:var(--orange); transform:rotate(22deg); }
.art-balloon { position:absolute; left:38%; top:26%; width:150px; height:150px; border-radius:42% 58% 53% 47%; background:var(--orange); display:grid; place-items:center; color:var(--ink); font:700 35px var(--display); transform:rotate(-16deg); box-shadow:26px 26px 0 rgba(212,241,90,.9); }
.art-star { position:absolute; top:23px; right:27px; color:var(--lime); font-size:45px; }
.art-label { position:absolute; bottom:24px; left:25px; color:var(--paper); font-size:10px; line-height:1.2; letter-spacing:.13em; font-weight:700; }
.catalog-section { background:var(--paper); }
.catalog-intro { display:grid; grid-template-columns:1fr 1fr; align-items:end; margin-bottom:62px; }
.catalog-intro h2 { margin-bottom:0; }
.catalog-intro > p { color:var(--muted); max-width:395px; margin:0 0 8px 70px; font-size:14px; line-height:1.7; }
.catalog-grid { display:grid; grid-template-columns:1fr 1fr; gap:18px; }
.catalog-card { border:1px solid var(--line); display:grid; grid-template-columns:43% 57%; min-height:230px; transition:transform .2s,box-shadow .2s; }
.catalog-card:hover { transform:translateY(-4px); box-shadow:0 16px 30px rgba(16,38,31,.08); }
.catalog-card.featured { grid-column:span 2; grid-template-columns:55% 45%; min-height:310px; }
.catalog-visual { position:relative; overflow:hidden; min-height:230px; background:var(--ink-2); display:flex; align-items:flex-end; padding:19px; }
.catalog-visual:before,.catalog-visual:after { content:''; position:absolute; border-radius:50%; border:24px solid var(--lime); width:170px; height:170px; }
.catalog-visual:before { top:-78px; right:-40px; }
.catalog-visual:after { bottom:-150px; left:-65px; width:250px; height:250px; border-color:var(--orange); }
.catalog-visual span,.catalog-visual b { position:relative; z-index:1; }
.catalog-visual span { color:var(--lime); font:700 11px var(--sans); }
.catalog-visual b { position:absolute; top:24px; left:24px; font:700 clamp(38px,4vw,67px) var(--display); color:#d6e1d7; letter-spacing:-.1em; transform:rotate(-10deg); }
.visual-water,.visual-waterpark,.visual-slide { background:#1c5c61; }
.visual-water:before,.visual-slide:before { border-color:#55d6dc; }
.visual-obstacle,.visual-race { background:#6c3f6b; }
.visual-obstacle:after { border-color:#ffca57; }
.visual-theme { background:#a34a35; }
.visual-theme:before { border-color:#ffca57; }
.visual-sport { background:#34587c; }
.visual-sport:after { border-color:#ffca57; }
.visual-ride { background:#513e63; }
.visual-tent { background:#3c6b5b; }
.visual-ad { background:#ba5b3f; }
.catalog-copy { padding:27px 27px 22px; display:flex; flex-direction:column; align-items:flex-start; }
.mini-label,.aside-kicker { display:block; color:var(--orange); text-transform:uppercase; letter-spacing:.12em; font-size:9px; font-weight:700; }
.catalog-copy h3 { font:500 clamp(22px,2.4vw,31px)/1 var(--display); letter-spacing:-.06em; margin:17px 0 12px; }
.catalog-copy p { color:var(--muted); font-size:12px; line-height:1.55; margin-bottom:20px; }
.catalog-copy a,.article-teasers a { display:inline-flex; align-items:center; gap:8px; border-bottom:1px solid var(--ink); padding-bottom:4px; font-size:11px; font-weight:700; margin-top:auto; }
.catalog-copy a span,.article-teasers a span { color:var(--orange); font-size:17px; }
.catalog-cta { background:var(--orange); padding:91px 0; }
.catalog-cta-inner { display:grid; grid-template-columns:1fr 1fr; align-items:end; }
.catalog-cta h2 { margin:19px 0 0; }
.catalog-cta-inner > div:last-child { padding-left:70px; }
.catalog-cta p { max-width:390px; font-size:14px; line-height:1.7; }
.catalog-cta .button-light { background:var(--ink); color:var(--paper); }
.catalog-cta .button-light:hover { background:var(--lime); color:var(--ink); }
.about-inner .inner-hero-grid { min-height:340px; }
.about-hero-panel { background:var(--lime); height:310px; position:relative; padding:24px; transform:rotate(-3deg); }
.about-hero-panel:before { content:'✳'; position:absolute; right:28px; top:17px; color:var(--orange); font-size:43px; }
.about-hero-years { font:500 70px/.83 var(--display); letter-spacing:-.1em; }
.about-hero-years span { color:var(--orange); font-size:35px; }
.about-hero-panel p { position:absolute; bottom:18px; left:24px; color:var(--ink); font:500 18px/1.1 var(--display); letter-spacing:-.04em; max-width:250px; }
.about-story { background:var(--paper); }
.story-grid { display:grid; grid-template-columns:1fr 1fr; gap:90px; }
.story-copy { padding-top:31px; max-width:510px; }
.story-copy p { color:var(--muted); font-size:15px; line-height:1.75; }
.story-copy .story-lead { color:var(--ink); font:500 23px/1.3 var(--display); letter-spacing:-.04em; margin-bottom:25px; }
.about-capacity { background:var(--ink); color:var(--paper); }
.about-capacity .eyebrow { color:var(--lime); }
.about-capacity h2 em { color:var(--lime); }
.capacity-grid { display:grid; grid-template-columns:repeat(5,1fr); border-top:1px solid rgba(245,241,233,.22); border-bottom:1px solid rgba(245,241,233,.22); }
.capacity-grid > div { padding:30px 18px 30px 0; display:flex; align-items:baseline; gap:12px; border-right:1px solid rgba(245,241,233,.22); }
.capacity-grid > div:not(:first-child) { padding-left:20px; }
.capacity-grid > div:last-child { border:0; }
.capacity-grid strong { color:var(--lime); font:500 clamp(34px,4.2vw,60px) var(--display); letter-spacing:-.1em; }
.capacity-grid span { color:#a6b8ad; font-size:10px; line-height:1.2; }
.values-section { background:var(--cream); }
.values-grid,.expect-grid { display:grid; grid-template-columns:repeat(3,1fr); border-top:1px solid var(--line); }
.values-grid article,.expect-grid > div { padding:25px 28px 0 0; min-height:200px; border-right:1px solid var(--line); }
.values-grid article:not(:first-child),.expect-grid > div:not(:first-child) { padding-left:28px; }
.values-grid article:last-child,.expect-grid > div:last-child { border:0; }
.values-grid span,.expect-grid span { color:var(--orange); font-size:10px; font-weight:700; }
.values-grid h3,.expect-grid h3 { font:500 22px var(--display); letter-spacing:-.04em; margin:28px 0 10px; }
.values-grid p,.expect-grid p { color:var(--muted); font-size:13px; line-height:1.6; margin:0; max-width:260px; }
.about-cta { background:var(--lime); }
.about-cta-inner { display:flex; align-items:end; justify-content:space-between; }
.about-cta h2 { margin:18px 0 0; }
.narrow-inner { max-width:760px; }
.narrow-inner h1 { margin-bottom:20px; }
.faq-inner,.blog-inner { padding-bottom:100px; }
.faq-page-section { background:var(--paper); }
.faq-page-grid,.article-layout { display:grid; grid-template-columns:25% 75%; gap:65px; }
.faq-page-grid aside,.article-layout aside { display:flex; flex-direction:column; align-items:flex-start; gap:14px; position:sticky; top:25px; align-self:start; }
.faq-page-grid aside a:not(.button),.article-layout aside a:not(.button) { color:var(--muted); font-size:12px; }
.faq-page-grid aside a:not(.button):hover,.article-layout aside a:not(.button):hover { color:var(--orange); }
.faq-page-grid aside .button,.article-layout aside .button { margin-top:22px; }
.faq-group { margin-bottom:78px; }
.faq-group h2 { font-size:47px; margin:16px 0 25px; }
.faq-group details { border-top:1px solid var(--line); padding:20px 0; }
.faq-group details:last-child { border-bottom:1px solid var(--line); }
.faq-group summary { list-style:none; cursor:pointer; display:flex; justify-content:space-between; font:500 18px var(--display); letter-spacing:-.03em; }
.faq-group summary::-webkit-details-marker { display:none; }
.faq-group summary span { color:var(--orange); font-size:23px; }
.faq-group details[open] summary span { transform:rotate(45deg); display:inline-block; }
.faq-group details p { color:var(--muted); font-size:14px; max-width:690px; line-height:1.7; margin:15px 35px 0 0; }
.contact-inner { background:var(--ink); color:var(--paper); padding:80px 0; }
.contact-hero-grid { display:grid; grid-template-columns:45% 55%; gap:40px; align-items:center; }
.contact-inner .eyebrow { color:var(--lime); }
.contact-inner h1 em { color:var(--lime); }
.contact-inner p { color:#a6b8ad; }
.contact-direct { display:flex; flex-direction:column; gap:17px; margin-top:43px; }
.contact-direct a { display:flex; align-items:center; gap:12px; font-size:12px; }
.contact-direct a > span:last-child { margin-left:auto; color:var(--lime); font-size:18px; }
.contact-direct small { color:#7d9286; display:block; font-size:9px; text-transform:uppercase; letter-spacing:.1em; }
.contact-direct strong { font-size:12px; }
.contact-form-panel { padding-left:58px; border-left:1px solid rgba(245,241,233,.25); }
.contact-form-panel #inquiry-form { border:0; padding:0; }
.contact-expect { background:var(--cream); }
.expect-grid > div { min-height:180px; }
.expect-grid h3 { margin-top:25px; }
.blog-inner { background:var(--orange); }
.blog-inner .narrow-inner p { color:#51392e; }
.blog-list-section { background:var(--paper); }
.featured-article { display:grid; grid-template-columns:1fr 1fr; min-height:430px; background:var(--ink); color:var(--paper); }
.article-visual { position:relative; overflow:hidden; background:var(--ink-2); padding:26px; display:flex; align-items:flex-end; }
.article-visual:before,.article-visual:after { content:''; position:absolute; border-radius:50%; border:35px solid var(--lime); width:240px; height:240px; }
.article-visual:before { right:-85px; top:-95px; }
.article-visual:after { left:-96px; bottom:-143px; border-color:var(--orange); }
.article-visual span { position:relative; z-index:1; color:var(--lime); font:700 19px/1 var(--display); letter-spacing:.06em; }
.article-visual b { position:absolute; z-index:1; top:38%; left:31%; color:#d3e3cf; font:700 100px var(--display); letter-spacing:-.13em; transform:rotate(-12deg); }
.article-copy { padding:48px 52px; display:flex; flex-direction:column; align-items:flex-start; }
.article-copy .mini-label { color:var(--lime); }
.article-copy h2 { font-size:43px; margin:22px 0 17px; }
.article-copy h2 a:hover { color:var(--lime); }
.article-copy p { color:#a6b8ad; font-size:14px; line-height:1.7; }
.article-copy .text-link { color:var(--lime); margin-top:auto; }
.article-rule { display:flex; align-items:center; gap:15px; border-bottom:1px solid var(--line); margin:68px 0 0; padding-bottom:14px; }
.article-rule span { color:var(--muted); text-transform:uppercase; letter-spacing:.13em; font-size:10px; font-weight:700; }
.article-teasers { display:grid; grid-template-columns:repeat(3,1fr); }
.article-teasers article { min-height:230px; padding:27px 25px 0 0; border-right:1px solid var(--line); position:relative; display:flex; flex-direction:column; align-items:flex-start; }
.article-teasers article:not(:first-child) { padding-left:25px; }
.article-teasers article:last-child { border:0; }
.teaser-number { position:absolute; right:23px; top:24px; color:var(--orange); font-size:11px; }
.article-teasers .mini-label { margin-bottom:25px; }
.article-teasers h3 { font:500 21px/1.08 var(--display); letter-spacing:-.04em; max-width:250px; margin:0 0 10px; }
.article-teasers p { color:var(--muted); font-size:12px; max-width:230px; margin-bottom:18px; }
.article-hero { background:var(--cream); padding:92px 0 78px; }
.article-hero-inner { max-width:870px; }
.article-hero h1 { font-size:clamp(45px,6.3vw,75px); max-width:880px; margin:22px 0 20px; }
.article-hero h1 em { color:var(--orange); }
.article-hero p { color:var(--muted); font-size:17px; }
.article-meta { color:var(--muted); font-size:11px; margin-top:34px; }
.article-meta span { margin:0 8px; color:var(--orange); }
.article-body { background:var(--paper); padding-top:80px; }
.article-content { max-width:735px; }
.article-content .article-lead { color:var(--ink); font:500 24px/1.4 var(--display); letter-spacing:-.04em; margin-bottom:55px; }
.article-content h2 { font-size:39px; margin:48px 0 17px; }
.article-content p { color:var(--muted); font-size:15px; line-height:1.8; }
.article-callout { background:var(--lime); padding:24px; margin:30px 0 44px; display:flex; gap:25px; align-items:center; flex-wrap:wrap; }
.article-callout strong { width:100%; font:500 20px var(--display); }
.article-callout span { font-size:11px; font-weight:700; }
.article-end-cta { background:var(--orange); margin-top:60px; padding:35px; display:flex; align-items:flex-end; justify-content:space-between; }
.article-end-cta h2 { font-size:46px; margin:17px 0 0; }
.article-end-cta .eyebrow { font-size:9px; }
.error-page { min-height:100vh; background:var(--cream); display:flex; flex-direction:column; justify-content:center; align-items:center; text-align:center; padding:30px; }
.error-orbit { width:200px; height:200px; border:2px solid var(--orange); border-radius:50%; display:grid; place-items:center; transform:rotate(-15deg); margin-bottom:32px; box-shadow:15px -12px 0 var(--lime); }
.error-orbit span { font:700 48px var(--display); color:var(--ink); transform:rotate(15deg); }
.error-page h1 { margin:21px 0; }
.error-page p { color:var(--muted); max-width:350px; }
@media (max-width:900px) { .inner-hero-grid,.contact-hero-grid { grid-template-columns:1fr; gap:45px; } .inner-hero-art { max-width:600px; width:100%; } .catalog-intro,.catalog-cta-inner { display:block; } .catalog-intro > p,.catalog-cta-inner > div:last-child { margin:20px 0 0; padding:0; } .catalog-card,.catalog-card.featured { grid-template-columns:42% 58%; min-height:250px; } .story-grid { gap:40px; } .capacity-grid { grid-template-columns:repeat(3,1fr); } .capacity-grid > div:nth-child(3) { border-right:0; } .capacity-grid > div:nth-child(4),.capacity-grid > div:nth-child(5) { border-top:1px solid rgba(245,241,233,.22); } .faq-page-grid,.article-layout { grid-template-columns:1fr; gap:45px; } .faq-page-grid aside,.article-layout aside { position:static; } .faq-page-grid aside a:not(.button),.article-layout aside a:not(.button) { display:inline-block; margin-right:15px; } .contact-form-panel { padding-left:0; border-left:0; } .featured-article { grid-template-columns:1fr; } .article-visual { min-height:280px; } }
@media (max-width:650px) { .inner-hero { padding:65px 0; } .inner-hero-art { height:285px; } .art-balloon { width:110px; height:110px; font-size:25px; } .catalog-grid { grid-template-columns:1fr; } .catalog-card,.catalog-card.featured { grid-column:auto; grid-template-columns:40% 60%; min-height:250px; } .catalog-copy { padding:20px 17px; } .catalog-copy h3 { font-size:20px; } .catalog-copy p { font-size:11px; } .about-hero-panel { height:260px; } .about-hero-years { font-size:56px; } .story-grid { display:block; } .story-copy { padding-top:0; margin-top:25px; } .capacity-grid { grid-template-columns:1fr 1fr; } .capacity-grid > div,.capacity-grid > div:not(:first-child) { padding:19px 10px 19px 0; } .capacity-grid > div:nth-child(even) { padding-left:10px; } .capacity-grid > div:nth-child(3) { border-right:1px solid rgba(245,241,233,.22); } .capacity-grid > div:nth-child(2),.capacity-grid > div:nth-child(4) { border-right:0; } .capacity-grid > div:nth-child(3),.capacity-grid > div:nth-child(4) { border-top:1px solid rgba(245,241,233,.22); } .capacity-grid > div:nth-child(5) { grid-column:span 2; border-top:1px solid rgba(245,241,233,.22); border-right:0; } .values-grid,.expect-grid { grid-template-columns:1fr; } .values-grid article,.expect-grid > div,.values-grid article:not(:first-child),.expect-grid > div:not(:first-child) { border-right:0; border-bottom:1px solid var(--line); padding:22px 0; min-height:160px; } .values-grid article:last-child,.expect-grid > div:last-child { border-bottom:0; } .about-cta-inner { display:block; } .about-cta .button { margin-top:29px; } .faq-group h2 { font-size:39px; } .contact-inner { padding:62px 0; } .contact-direct { margin-bottom:3px; } .article-teasers { grid-template-columns:1fr; } .article-teasers article,.article-teasers article:not(:first-child) { border-right:0; border-bottom:1px solid var(--line); padding:25px 0; min-height:180px; } .article-teasers article:last-child { border-bottom:0; } .article-copy { padding:33px 23px; } .article-copy h2 { font-size:34px; } .article-hero { padding:65px 0; } .article-hero h1 { font-size:44px; } .article-content .article-lead { font-size:21px; } .article-content h2 { font-size:32px; } .article-end-cta { display:block; padding:25px; } .article-end-cta .button { margin-top:25px; } }
