:root{
  --navy:#173b45; --orange:#e8794f; --orange-d:#d7653d; --cream:#fbfaf7;
  --muted:#77888c; --line:#e5e9e5; --mint:#edf5f1; --mint-line:#dfeae5;
  --footer-bg:#12343d; --footer-line:#31545b; --footer-muted:#91abab;
}
*{margin:0;padding:0;box-sizing:border-box}
body{font-family:'DM Sans',sans-serif;color:var(--navy);background:var(--cream);font-size:16px;line-height:1.6}
img{max-width:100%;display:block}
.shell{width:min(1130px,calc(100% - 48px));margin:0 auto}
em.serif{font-style:normal;font-family:'Playfair Display',serif;font-weight:600;font-style:italic;color:var(--orange)}
a{color:inherit}

/* TOPBAR */
.topbar{height:34px;display:flex;align-items:center;justify-content:center;gap:35px;color:#d8e8e4;background:var(--navy);font-size:11px;font-weight:500}
.topbar b{color:#f3bd85}
.topbar .center{opacity:.8}

/* HEADER */
header{border-bottom:1px solid rgba(23,59,69,.1);background:var(--cream)}
.header-inner{height:76px;display:flex;align-items:center;justify-content:space-between;gap:30px}
.logo{display:inline-flex;align-items:center;gap:9px;color:var(--navy);font-size:22px;font-weight:900;letter-spacing:1px;text-transform:uppercase;text-decoration:none}
.logo em{color:var(--orange);font-style:normal}
.logo-mark{width:30px;height:30px;display:grid;place-items:center;border-radius:11px 11px 11px 3px;color:#fff;background:var(--orange);transform:rotate(-8deg);font-size:15px}
.logo-mark span{transform:rotate(8deg);display:block}
nav.mainnav{display:flex;gap:30px;margin-left:auto;color:#718387;font-size:12px;font-weight:700}
nav.mainnav a{text-decoration:none}
nav.mainnav a:hover{color:var(--orange)}
.pill-link{display:inline-flex;align-items:center;gap:7px;padding:10px 14px;border:1px solid #d6dfdb;border-radius:20px;color:var(--navy);font-size:11px;font-weight:700;text-decoration:none}
.pill-link:hover{border-color:var(--orange);background:#fff}

/* HERO */
.hero{padding:70px 0 76px;background:var(--cream)}
.hero-grid{display:grid;grid-template-columns:.9fr 1.1fr;align-items:center;gap:70px}
.kicker{display:inline-flex;align-items:center;gap:6px;color:var(--orange);font-size:11px;font-weight:700;letter-spacing:.14em;text-transform:uppercase}
.hero-copy h1{margin:21px 0 19px;color:var(--navy);font-size:clamp(40px,5vw,60px);letter-spacing:-.03em;line-height:1.02;font-weight:900}
.hero-copy>p{max-width:410px;color:var(--muted);font-size:15px;line-height:1.7}
.btn-primary{display:inline-flex;align-items:center;justify-content:center;gap:8px;border:0;border-radius:6px;padding:14px 20px;color:#fff;background:var(--orange);font-size:12px;font-weight:700;box-shadow:0 8px 18px #e8794f33;text-decoration:none;margin-top:27px;cursor:pointer}
.btn-primary:hover{background:var(--orange-d)}
.proof{display:flex;align-items:center;gap:12px;margin-top:32px}
.proof span{color:var(--orange);font-size:26px;font-weight:900;letter-spacing:-.03em}
.proof small{max-width:150px;color:#8d9a9d;font-size:11px;line-height:1.4}

.hero-art{min-height:415px;position:relative}
.hero-art::before{content:"";position:absolute;top:20px;right:0;bottom:0;left:35px;border-radius:49% 49% 25px 25px;background:#dceee9;transform:rotate(4deg)}
.sun{position:absolute;top:-8px;right:16px;width:115px;height:115px;border-radius:50%;background:#f6ddbd}
.hero-art .art-photo{position:absolute;z-index:1;right:35px;bottom:0;width:78%;height:365px;border-radius:46% 46% 20px 20px;overflow:hidden}
.hero-art .art-photo img{width:100%;height:100%;object-fit:cover;filter:saturate(.9)}
.note{position:absolute;z-index:2;display:inline-flex;align-items:center;gap:6px;padding:10px 12px;border-radius:6px;color:var(--navy);background:#fff;box-shadow:0 12px 30px #173b4521;font-size:11px;font-weight:700}
.note-one{top:96px;left:0;color:var(--orange)}
.note-two{right:0;bottom:80px}
.image-caption{position:absolute;z-index:2;bottom:18px;left:65px;color:#fff;font-size:13px;line-height:1.25}
.image-caption b{color:#f7d4a6}

/* TRUST */
.trust{border-top:1px solid var(--mint-line);border-bottom:1px solid var(--mint-line);background:var(--mint)}
.trust-grid{display:grid;grid-template-columns:repeat(4,1fr);padding:24px 0}
.trust-grid>span{display:grid;grid-template-columns:26px 1fr;column-gap:9px;justify-content:center;border-right:1px solid #d6e4de;padding:0 8px}
.trust-grid>span:last-child{border-right:0}
.trust-grid .ico{grid-row:span 2;font-size:20px;color:var(--orange)}
.trust-grid b,.trust-grid small{display:block}
.trust-grid b{font-size:11px}
.trust-grid small{margin-top:3px;color:#829794;font-size:10px}

/* PRODUCTS */
.products{padding:95px 0 105px;background:var(--cream)}
.section-heading{display:flex;align-items:end;justify-content:space-between;gap:40px}
.section-heading h2{margin:12px 0 0;color:var(--navy);font-size:40px;letter-spacing:-.03em;line-height:1.05;font-weight:900}
.section-heading>p{max-width:290px;color:var(--muted);font-size:13px;line-height:1.7}
.filters{display:flex;gap:6px;flex-wrap:wrap;border-bottom:1px solid var(--line);margin-top:42px;padding-bottom:12px}
.filters button{border:0;border-radius:20px;padding:9px 15px;color:#849294;background:transparent;font-size:11px;font-weight:700;cursor:pointer;font-family:inherit}
.filters button.active,.filters button:hover{color:var(--navy);background:#e0eee9}

.product-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:22px;margin-top:27px}
.card{overflow:hidden;border:1px solid var(--line);border-radius:9px;background:#fff;transition:transform .2s,box-shadow .2s;cursor:pointer}
.card:hover{transform:translateY(-4px);box-shadow:0 16px 32px #173b451a}
.card-image{height:205px;position:relative;overflow:hidden}
.card-image img{width:100%;height:100%;object-fit:cover;mix-blend-mode:multiply;opacity:.93;transition:transform .35s}
.card:hover .card-image img{transform:scale(1.04)}
.card-image>span.tag{position:absolute;z-index:1;top:12px;left:12px;padding:5px 8px;border-radius:3px;color:var(--navy);background:#ffffffd6;font-size:9px;font-weight:700;text-transform:uppercase;letter-spacing:.08em}
.card-body{padding:17px}
.card-body>small{color:#98a5a3;font-size:10px;text-transform:uppercase;letter-spacing:.05em;font-weight:700}
.card h3{margin:7px 0 6px;color:var(--navy);font-size:19px;letter-spacing:-.02em}
.rating{display:flex;align-items:center;gap:7px}
.rating span{display:flex;align-items:center;gap:4px;color:#e6a14e;font-size:11px;font-weight:700}
.rating i{color:#a4afad;font-size:10px;font-style:normal}
.card p.desc{min-height:39px;margin:12px 0 16px;color:#7b888b;font-size:11px;line-height:1.55}
.card-footer{display:flex;align-items:center;justify-content:space-between;border-top:1px solid #eff1ef;padding-top:13px}
.card-footer strong{color:var(--navy);font-size:16px}
.card-footer .view-btn{display:flex;align-items:center;gap:4px;border:0;color:var(--orange);background:transparent;font-size:11px;font-weight:700;cursor:pointer;font-family:inherit}

/* STORY */
.story{padding:92px 0;background:var(--mint)}
.story-grid{display:grid;grid-template-columns:1fr 1fr;align-items:center;gap:90px}
.story-image{height:355px;position:relative}
.story-image::before{content:"";position:absolute;top:14px;right:-16px;bottom:-14px;left:14px;border:1px solid #bfd9d0;border-radius:10px;transform:rotate(-3deg)}
.story-image .photo{position:relative;width:100%;height:100%;border-radius:9px;overflow:hidden}
.story-image .photo img{width:100%;height:100%;object-fit:cover;filter:saturate(.85)}
.story-image>span{position:absolute;z-index:1;right:-29px;bottom:20px;width:96px;height:96px;padding-top:26px;border-radius:50%;color:var(--navy);background:#f7d09e;font-family:'Playfair Display',serif;font-size:14px;line-height:1.05;text-align:center;transform:rotate(8deg)}
.story-image b{color:var(--orange)}
.story h2{font-size:42px;max-width:420px;color:var(--navy);letter-spacing:-.03em;line-height:1.1;font-weight:900}
.story p{max-width:430px;margin-top:22px;color:#6f8385;font-size:13px;line-height:1.75}
.signature{display:flex;align-items:center;gap:9px;margin-top:29px}
.signature .badge{width:32px;height:32px;display:grid;place-items:center;border-radius:10px 10px 10px 3px;background:var(--orange);color:#fff;font-size:16px}
.signature b,.signature small{display:block}
.signature b{color:var(--navy);font-size:11px}
.signature small{margin-top:2px;color:#98a6a3;font-size:10px}

/* FOOTER */
footer{padding:46px 0 18px;color:var(--footer-muted);background:var(--footer-bg)}
.footer-grid{display:grid;grid-template-columns:2fr 1fr 1fr;gap:35px;padding-bottom:35px}
.footer-grid .logo{color:#fff}
.footer-grid p.tag{margin-top:14px;color:#829b9b;font-size:11px;line-height:1.7}
.footer-grid>div:not(:first-child){display:flex;flex-direction:column;align-items:flex-start;gap:11px;font-size:11px}
.footer-grid b{color:#fff;font-size:12px}
.footer-grid a{text-decoration:none}
.footer-grid a:hover{color:#fff}
.footer-company span{display:block}
.footer-bottom{display:flex;justify-content:space-between;padding-top:17px;border-top:1px solid var(--footer-line);color:#6e898a;font-size:10px}

/* MODAL */
.modal-backdrop{display:none;position:fixed;z-index:40;inset:0;place-items:center;padding:20px;background:#0d282fad;backdrop-filter:blur(4px)}
.modal-backdrop.open{display:grid}
.modal{width:min(650px,100%);display:grid;grid-template-columns:.9fr 1.1fr;position:relative;overflow:hidden;border-radius:10px;background:var(--cream);box-shadow:0 25px 70px #0000004d}
.modal .modal-photo{width:100%;height:100%;min-height:330px;overflow:hidden}
.modal .modal-photo img{width:100%;height:100%;object-fit:cover;mix-blend-mode:multiply}
.modal>div.modal-body{padding:42px 28px}
.modal small{color:#97a4a2;font-size:10px;text-transform:uppercase;font-weight:700}
.modal h2{margin:8px 0 16px;color:var(--navy);font-size:28px;font-weight:900}
.modal p{margin-bottom:20px;color:var(--muted);font-size:13px;line-height:1.7}
.modal strong{display:block;margin-bottom:14px;color:var(--navy);font-size:19px}
.modal-close{position:absolute;z-index:1;top:11px;right:11px;width:28px;height:28px;display:grid;place-items:center;border:0;border-radius:50%;color:var(--navy);background:#ffffffd9;cursor:pointer;font-size:16px}

/* LEGAL / CONTENT PAGES */
.page-hero{padding:52px 0 40px;background:var(--cream);border-bottom:1px solid var(--line)}
.page-hero .kicker{margin-bottom:12px}
.page-hero h1{color:var(--navy);font-size:clamp(32px,4vw,46px);letter-spacing:-.03em;font-weight:900;line-height:1.08}
.page-hero p{margin-top:10px;color:var(--muted);font-size:13px}
.page-content{padding:56px 0 90px;background:var(--cream)}
.page-content .shell{max-width:760px}
.page-content h2{margin:34px 0 12px;color:var(--navy);font-size:21px;letter-spacing:-.02em;font-weight:700}
.page-content h2:first-child{margin-top:0}
.page-content p{margin-bottom:14px;color:#556669;font-size:14px;line-height:1.8}
.page-content ul{margin:0 0 14px 20px;color:#556669;font-size:14px;line-height:1.9}
.page-content li{margin-bottom:2px}
.page-content strong{color:var(--navy)}
.page-content .updated{color:var(--muted);font-size:11px;text-transform:uppercase;letter-spacing:.06em;font-weight:700;margin-bottom:28px;display:block}

.faq-item{border-bottom:1px solid var(--line);padding:20px 0}
.faq-item h3{color:var(--navy);font-size:15px;font-weight:700;margin-bottom:8px}
.faq-item p{color:#556669;font-size:13px;line-height:1.7;margin:0}

.help-grid{display:grid;grid-template-columns:1fr 1fr;gap:60px;margin-top:10px}
.help-card{background:#fff;border:1px solid var(--line);border-radius:9px;padding:22px}
.help-card b{display:block;color:var(--navy);font-size:13px;margin-bottom:4px}
.help-card a{color:var(--orange);font-weight:700;text-decoration:none;font-size:13px}
.contact-form{display:grid;gap:12px}
.contact-form label{font-size:11px;font-weight:700;color:var(--navy);display:block;margin-bottom:5px}
.contact-form input,.contact-form select,.contact-form textarea{width:100%;border:1px solid #d6dfdb;border-radius:6px;padding:10px 12px;font-family:inherit;font-size:13px;color:var(--navy);background:#fff}
.contact-form textarea{min-height:100px;resize:vertical}
.contact-form small.demo-note{display:block;margin-top:4px;color:#a1adaf;font-size:10px}

@media (max-width:860px){
  .hero-grid{grid-template-columns:1fr;gap:28px;text-align:center}
  .hero-copy>p{margin:0 auto}
  .proof{justify-content:center}
  nav.mainnav{display:none}
  .product-grid{grid-template-columns:repeat(2,1fr)}
  .story-grid{gap:40px;grid-template-columns:1fr}
  .footer-grid{grid-template-columns:1fr 1fr;gap:28px 20px}
  .footer-grid>div:first-child{grid-column:span 2}
  .trust-grid{grid-template-columns:repeat(2,1fr);gap:16px 0}
  .help-grid{grid-template-columns:1fr;gap:30px}
}
@media (max-width:560px){
  .product-grid{grid-template-columns:1fr}
  .section-heading{display:block}
  .modal{display:block;max-height:90vh;overflow-y:auto}
  .modal .modal-photo{height:180px;min-height:0}
}
