@font-face{font-family:Archivo;src:url('assets/Archivo-Variable.ttf') format('truetype');font-weight:100 900;font-display:swap}
@font-face{font-family:Instrument;src:url('assets/InstrumentSans-Variable.ttf') format('truetype');font-weight:100 900;font-display:swap}
@font-face{font-family:Martian;src:url('assets/MartianMono-Variable.ttf') format('truetype');font-weight:100 800;font-display:swap}

:root{
  --pine:#0f2e24;
  --pine-mid:#1c4f3e;
  --vermilion:#e5432b;
  --sage:#a8bfaf;
  --sage-pale:#dce6de;
  --chalk:#f2f0ea;
  --paper:#fbfaf6;
  --ink:#0b1512;
  --line:#d2cfc5;
  --max:1240px;
}

*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{margin:0;background:var(--chalk);color:var(--ink);font-family:Instrument,Arial,sans-serif;font-size:17px;line-height:1.55;overflow-x:hidden}
body::selection{background:var(--vermilion);color:white}
a{color:inherit}
button,input{font:inherit}
img{max-width:100%;display:block}
[hidden]{display:none!important}
.skip-link{position:fixed;top:8px;left:8px;transform:translateY(-160%);z-index:1000;background:white;padding:10px 14px;border-radius:8px}
.skip-link:focus{transform:none}

.site-header{position:fixed;z-index:50;top:18px;left:50%;transform:translateX(-50%);width:min(calc(100% - 36px),var(--max));height:72px;padding:10px 12px 10px 22px;display:flex;align-items:center;justify-content:space-between;border:1px solid rgba(15,46,36,.12);border-radius:22px;background:rgba(242,240,234,.86);backdrop-filter:blur(18px);transition:box-shadow .25s,background .25s}
.site-header.scrolled{background:rgba(251,250,246,.94);box-shadow:0 10px 35px rgba(11,21,18,.08)}
.brand{display:block;width:183px;color:var(--pine);text-decoration:none}
.brand-lockup{position:relative;display:block;width:100%;aspect-ratio:1000/236;overflow:hidden}
.brand-lockup img{width:100%;height:100%;object-fit:contain}
.brand-lockup::after{content:"";position:absolute;z-index:1;left:30%;right:0;top:71%;bottom:0;background:var(--chalk)}
.site-header.scrolled .brand-lockup::after{background:#fbfaf6}
.brand-tagline{position:absolute;z-index:2;left:31.2%;top:75.8%;color:var(--pine-mid);font-family:Martian,monospace;font-size:5px;font-weight:650;line-height:1;letter-spacing:.14em;text-transform:uppercase;white-space:nowrap}
.site-header nav{display:flex;gap:30px;align-items:center}
.site-header nav a{font-weight:650;text-decoration:none;font-size:15px}
.site-header nav a:hover{color:var(--pine-mid)}

.button{display:inline-flex;align-items:center;justify-content:center;min-height:54px;padding:0 25px;border:0;border-radius:15px;background:var(--pine);color:var(--chalk);font-weight:720;text-decoration:none;cursor:pointer;box-shadow:0 8px 24px rgba(15,46,36,.12);transition:transform .2s,background .2s,box-shadow .2s}
.button:hover{background:var(--pine-mid);transform:translateY(-2px);box-shadow:0 12px 28px rgba(15,46,36,.18)}
.button:focus-visible,.chip:focus-visible,.demo-puck:focus-visible,summary:focus-visible{outline:3px solid var(--vermilion);outline-offset:3px}
.button-small{min-height:48px;padding:0 20px;border-radius:14px;font-size:15px}
.button-light{background:var(--chalk);color:var(--pine)}
.button-light:hover{background:white;color:var(--pine)}

.hero{min-height:890px;max-width:var(--max);margin:0 auto;padding:156px 22px 90px;display:grid;grid-template-columns:1.02fr .98fr;gap:54px;align-items:center}
.hero-copy{position:relative;z-index:2}
.eyebrow{margin:0 0 18px;color:var(--pine-mid);font-family:Martian,monospace;font-size:11px;font-weight:650;letter-spacing:.19em;text-transform:uppercase}
.eyebrow.light{color:var(--sage)}
.signal-dot{display:inline-block;width:9px;height:9px;margin-right:8px;border-radius:50%;background:var(--vermilion)}
h1,h2,h3,p{margin-top:0}
h1,h2,h3{font-family:Archivo,Instrument,sans-serif;line-height:.98;letter-spacing:-.045em}
h1{margin-bottom:28px;font-size:clamp(68px,8vw,116px);font-weight:850}
h1 em{color:var(--pine-mid);font-style:normal;position:relative;white-space:nowrap}
h1 em::after{content:"";position:absolute;right:-20px;top:21%;width:13px;height:13px;border-radius:50%;background:var(--vermilion)}
.hero-lede{max-width:610px;margin-bottom:34px;color:var(--pine-mid);font-size:22px;line-height:1.55}
.hero-actions{display:flex;align-items:center;gap:26px}
.text-link{font-weight:750;text-decoration:none;border-bottom:1px solid var(--pine);padding:10px 0 5px}
.text-link span{color:var(--vermilion);padding-left:5px}
.hero-notes{display:flex;flex-wrap:wrap;gap:12px 26px;margin:30px 0 0;padding:0;list-style:none;color:var(--pine-mid);font-family:Martian,monospace;font-size:10px;text-transform:uppercase;letter-spacing:.12em}
.hero-notes li::before{content:"";display:inline-block;width:5px;height:5px;border-radius:50%;margin:0 8px 1px 0;background:var(--sage)}

.hero-visual{position:relative;min-height:630px;border-radius:42% 58% 58% 42% / 42% 42% 58% 58%;background:var(--sage-pale);isolation:isolate}
.hero-visual::before{content:"";position:absolute;inset:7%;border:1px solid rgba(15,46,36,.14);border-radius:50%;transform:rotate(-13deg)}
.contour{position:absolute;border:1px solid rgba(15,46,36,.16);border-radius:50%}
.contour-one{inset:16% -5% 9% 13%;transform:rotate(21deg)}
.contour-two{inset:30% 10% -5% -8%;transform:rotate(-18deg)}
.sun-dot{position:absolute;top:14%;right:16%;width:30px;height:30px;border-radius:50%;background:var(--vermilion);box-shadow:0 0 0 12px rgba(229,67,43,.09)}
.puck-stage{position:absolute;z-index:3;left:50%;top:49%;width:420px;height:360px;transform:translate(-50%,-50%) rotate(-6deg)}
.puck-shadow{position:absolute;z-index:-1;left:9%;right:5%;bottom:5%;height:54px;border-radius:50%;background:rgba(11,21,18,.28);filter:blur(20px);transform:rotate(6deg)}
.hero-product-img{width:100%;height:100%;object-fit:cover;object-position:center;clip-path:ellipse(46% 40% at 50% 52%);filter:saturate(.9) contrast(1.04);mix-blend-mode:multiply}
.trail-line{position:absolute;z-index:2;inset:auto 4% 7% 2%}
.trail-line svg{width:100%;overflow:visible;fill:none;stroke:var(--pine-mid);stroke-width:2.5;stroke-linecap:round;stroke-dasharray:6 8}
.trail-line circle{fill:var(--vermilion);stroke:none}
.hero-card{position:absolute;z-index:5;display:flex;align-items:center;gap:12px;padding:13px 17px;border:1px solid rgba(15,46,36,.14);border-radius:15px;background:rgba(251,250,246,.9);box-shadow:0 15px 35px rgba(11,21,18,.09);backdrop-filter:blur(10px);font-size:14px}
.hero-card span{font-family:Martian;font-size:9px;color:var(--vermilion)}
.card-top{top:22%;left:-4%;transform:rotate(-3deg)}
.card-bottom{right:-3%;bottom:23%;transform:rotate(3deg)}

.band{background:var(--pine);color:var(--chalk)}
.manifesto{padding:95px max(22px,calc((100vw - var(--max))/2 + 22px))}
.manifesto-line{max-width:1080px;margin:0;font-family:Archivo,sans-serif;font-size:clamp(38px,5vw,70px);font-weight:740;line-height:1.05;letter-spacing:-.035em}

.section{max-width:var(--max);margin:0 auto;padding:120px 22px}
.section-heading{display:grid;grid-template-columns:1fr 1.2fr;column-gap:56px;margin-bottom:64px}
.section-heading .eyebrow{grid-column:1/-1}
.section-heading h2{margin-bottom:0;font-size:clamp(48px,6vw,78px);font-weight:800}
.section-heading>p:last-child{max-width:520px;margin:7px 0 0;color:var(--pine-mid);font-size:20px;line-height:1.55}
.steps{display:grid;grid-template-columns:repeat(3,1fr);gap:22px}
.step{position:relative;padding:26px;border:1px solid var(--line);border-radius:26px;background:var(--paper);overflow:hidden}
.step-number{position:absolute;top:24px;right:24px;font-family:Martian;font-size:10px;letter-spacing:.12em;color:var(--pine-mid)}
.step-art{height:230px;margin-bottom:28px;border-radius:18px;background:var(--sage-pale)}
.step h3{margin-bottom:13px;font-size:30px;line-height:1.08}
.step p{margin:0;color:var(--pine-mid)}
.app-grid{display:grid;grid-template-columns:repeat(2,68px);place-content:center;gap:13px}
.app-grid .brand-tile{display:grid;place-items:center;width:68px;height:68px;border-radius:18px;box-shadow:0 8px 22px rgba(15,46,36,.12)}
.app-grid .brand-tile img{width:34px;height:34px;object-fit:contain}
.chatgpt-tile,.tiktok-tile{background:#050505}
.tiktok-tile img,.instagram-tile img{filter:invert(1)}
.instagram-tile{background:radial-gradient(circle at 30% 105%,#feda75 0 18%,#fa7e1e 28%,#d62976 50%,#962fbf 72%,#4f5bd5 100%)}
.snapchat-tile{background:#fffc00}
.product-mini{display:grid;place-items:center;overflow:hidden;background:var(--sage-pale)}
.product-mini img{width:116%;height:116%;object-fit:cover;mix-blend-mode:multiply;filter:saturate(.9) contrast(1.04)}
.return-art{overflow:hidden;background:var(--sage-pale)}
.return-art img{width:100%;height:100%;object-fit:cover;object-position:center;transition:transform .7s ease}
.step:hover .return-art img{transform:scale(1.035)}

.demo-section{padding:110px max(22px,calc((100vw - var(--max))/2 + 22px));display:grid;grid-template-columns:1fr 1fr;gap:80px;align-items:center;background:var(--pine);color:var(--chalk)}
.demo-copy h2{max-width:570px;margin-bottom:24px;font-size:clamp(48px,6vw,78px)}
.demo-copy>p:not(.eyebrow){max-width:560px;color:var(--sage);font-size:20px}
.demo-choices{margin-top:42px}
.demo-choices fieldset{margin:0 0 25px;padding:0;border:0}
.demo-choices legend{margin-bottom:11px;color:var(--chalk);font-weight:700;font-size:14px}
.chip-row{display:flex;flex-wrap:wrap;gap:9px}
.chip{padding:10px 14px;border:1px solid rgba(220,230,222,.35);border-radius:999px;background:transparent;color:var(--chalk);cursor:pointer;font-size:14px;transition:background .2s,color .2s,border .2s}
.chip:hover,.chip.active{border-color:var(--sage);background:var(--sage);color:var(--pine)}
.demo-stage{position:relative;display:flex;min-height:670px;align-items:center;justify-content:flex-start;padding-left:45px}
.demo-phone{position:relative;z-index:2;width:310px;height:625px;border:9px solid #091b15;border-radius:48px;background:var(--chalk);box-shadow:0 35px 70px rgba(0,0,0,.35);overflow:hidden;color:var(--ink)}
.phone-island{position:absolute;z-index:5;left:50%;top:14px;width:94px;height:26px;border-radius:30px;background:#050a08;transform:translateX(-50%)}
.phone-screen{height:100%;padding:67px 24px 28px;text-align:center;animation:screenIn .45s ease both}
@keyframes screenIn{from{opacity:0;transform:translateY(12px)}to{opacity:1;transform:none}}
.phone-eyebrow{margin-bottom:30px;color:var(--pine-mid);font-family:Martian;font-size:9px;letter-spacing:.18em}
.phone-app-icon{width:84px;height:84px;margin:0 auto 33px;border-radius:24px;box-shadow:0 7px 18px rgba(15,46,36,.12)}
.phone-screen h3{font-size:34px;line-height:1.03}
.phone-screen>p:not(.phone-eyebrow){color:var(--pine-mid)}
.blocked-apps{display:flex;justify-content:center;gap:8px;margin:38px auto 12px}
.blocked-apps .brand-tile{display:grid;place-items:center;width:43px;height:43px;border-radius:12px;box-shadow:0 5px 14px rgba(15,46,36,.13)}
.blocked-apps .brand-tile img{width:23px;height:23px;object-fit:contain}
.phone-screen small{color:#6c7d75}
.screen-active{background:var(--pine);color:var(--chalk)}
.screen-active .phone-eyebrow,.screen-active>p{color:var(--sage)!important}
.timer-ring{display:flex;flex-direction:column;align-items:center;justify-content:center;width:178px;height:178px;margin:15px auto 34px;border:7px solid var(--sage);border-radius:50%;box-shadow:0 0 0 1px rgba(255,255,255,.12)}
.timer-ring strong{font-family:Archivo;font-size:42px;letter-spacing:-.04em}
.timer-ring span{font-family:Martian;font-size:8px;letter-spacing:.16em;text-transform:uppercase;color:var(--sage)}
.shielded-row{display:flex;justify-content:space-between;align-items:center;margin-top:64px;padding:17px 18px;border:1px solid rgba(168,191,175,.35);border-radius:15px;color:var(--sage)}
.shielded-row strong{color:var(--chalk)}
.screen-done{background:var(--sage-pale)}
.milestone-mark{display:grid;place-items:center;width:124px;height:124px;margin:12px auto 37px;border-radius:36px;background:var(--pine);color:var(--sage);font-family:Archivo;font-size:57px;font-weight:800;transform:rotate(45deg)}
.milestone-mark::first-letter{transform:rotate(-45deg)}
.screen-done h3{font-size:37px}
.feeling-row{display:flex;gap:6px;justify-content:center;margin-top:42px}
.feeling-row span{padding:8px 9px;border:1px solid var(--line);border-radius:999px;background:var(--paper);font-size:11px}
.demo-puck{position:absolute;z-index:3;right:-2%;bottom:70px;width:220px;height:205px;padding:0;border:0;background:transparent;cursor:pointer;color:var(--pine);overflow:visible;transition:transform .22s}
.demo-puck img{display:block;width:220px;height:auto;object-fit:contain;filter:drop-shadow(0 24px 24px rgba(0,0,0,.42))}
.demo-puck:hover{transform:translateY(-6px)}
.demo-puck:active{transform:translateY(2px) scale(.98)}
.demo-puck.is-active{animation:puckPulse 2s infinite}
@keyframes puckPulse{50%{transform:translateY(-5px) scale(1.025)}}
.demo-puck-label{position:absolute;z-index:2;left:50%;bottom:2px;width:max-content;transform:translateX(-50%);padding:9px 12px;border:1px solid rgba(15,46,36,.12);border-radius:999px;background:var(--chalk);box-shadow:0 10px 24px rgba(0,0,0,.2);color:var(--pine);font-family:Martian;font-size:8px;letter-spacing:.06em;text-transform:uppercase}
.demo-reset{position:absolute;right:4%;bottom:32px;border:0;border-bottom:1px solid var(--sage);background:none;color:var(--sage);cursor:pointer}

.app-section{padding-bottom:150px}
.phone-gallery{display:grid;grid-template-columns:repeat(3,1fr);gap:24px;align-items:start}
.phone-shot{margin:0;position:relative}
.phone-shot img{width:100%;border-radius:38px;border:8px solid var(--ink);box-shadow:0 24px 60px rgba(11,21,18,.15)}
.phone-shot figcaption{display:flex;gap:12px;align-items:center;margin-top:18px;font-weight:700}
.phone-shot figcaption span{font-family:Martian;font-size:9px;color:var(--vermilion)}
.shot-two{margin-top:70px}
.shot-three{margin-top:140px}

.feature-stories{padding:120px max(22px,calc((100vw - var(--max))/2 + 22px));background:#ebe8e0}
.feature-heading{display:grid;grid-template-columns:1fr 1.05fr;column-gap:58px;margin-bottom:62px}
.feature-heading .eyebrow{grid-column:1/-1}
.feature-heading h2{margin:0;font-size:clamp(50px,6vw,78px)}
.feature-heading>p:last-child{max-width:590px;margin:9px 0 0;color:var(--pine-mid);font-size:20px;line-height:1.55}
.feature-panels{display:grid;gap:26px}
.feature-panel{display:grid;grid-template-columns:.88fr 1.12fr;min-height:610px;border:1px solid var(--line);border-radius:34px;background:var(--paper);overflow:hidden}
.feature-copy{display:flex;flex-direction:column;justify-content:center;padding:56px}
.feature-copy h3{margin-bottom:24px;font-size:clamp(42px,4.5vw,62px)}
.feature-copy>p:not(.card-kicker):not(.feature-note){color:var(--pine-mid);font-size:19px}
.feature-visual{position:relative;min-height:100%;overflow:hidden}
.feature-points{display:grid;gap:11px;margin:24px 0 0;padding:0;list-style:none;color:var(--pine-mid);font-size:15px}
.feature-points li::before{content:"";display:inline-block;width:8px;height:8px;margin:0 10px 1px 0;border-radius:50%;background:var(--vermilion)}

.alarm-visual{background:linear-gradient(155deg,#a8cfdd 0 42%,#f2d39b 42% 61%,#9ebda6 61%)}
.alarm-visual::after{content:"";position:absolute;left:-12%;right:-10%;bottom:-29%;height:57%;border-radius:50% 50% 0 0;background:var(--pine-mid);opacity:.92}
.morning-sun{position:absolute;top:10%;right:14%;width:105px;height:105px;border-radius:50%;background:#ffce68;box-shadow:0 0 0 22px rgba(255,206,104,.2),0 0 65px rgba(255,206,104,.5)}
.alarm-phone{position:absolute;z-index:2;left:11%;top:11%;width:225px;height:430px;padding:70px 24px 30px;border:8px solid var(--ink);border-radius:38px;background:var(--chalk);box-shadow:0 30px 55px rgba(15,46,36,.28);text-align:center;color:var(--pine)}
.alarm-phone::before{content:"";position:absolute;top:14px;left:50%;width:76px;height:22px;border-radius:20px;background:var(--ink);transform:translateX(-50%)}
.alarm-phone span{font-family:Martian;font-size:8px;letter-spacing:.14em;text-transform:uppercase}
.alarm-phone strong{display:block;margin:72px 0 17px;font-family:Archivo;font-size:64px;line-height:1;letter-spacing:-.05em}
.alarm-phone small{display:block;color:var(--pine-mid);font-size:13px}
.alarm-puck{position:absolute;z-index:3;right:-2%;bottom:5%;width:330px;filter:drop-shadow(0 25px 25px rgba(0,0,0,.34));transform:rotate(-6deg)}

.signal-feature{grid-template-columns:.88fr 1.12fr;background:var(--pine);border-color:rgba(168,191,175,.24);color:var(--chalk)}
.signal-feature .feature-copy>p:not(.card-kicker):not(.feature-note){color:var(--sage)}
.signal-feature .card-kicker{color:var(--sage)}
.duration-row{display:flex;flex-wrap:wrap;gap:8px;margin:24px 0 18px}
.duration-row span{padding:8px 11px;border:1px solid rgba(220,230,222,.3);border-radius:999px;color:var(--chalk);font-family:Martian;font-size:8px;letter-spacing:.04em}
.feature-note{margin:0;color:var(--sage);font-size:12px}
.signal-map{margin:34px;border-radius:24px;background:linear-gradient(140deg,#dce6de,#a8bfaf)}
.signal-map::before,.signal-map::after{content:"";position:absolute;border-radius:50%;background:rgba(242,240,234,.38)}
.signal-map::before{width:290px;height:205px;left:-70px;top:-55px}.signal-map::after{width:240px;height:175px;right:-60px;bottom:-35px}
.signal-map svg{position:absolute;z-index:1;inset:0;width:100%;height:100%;fill:none}
.map-road{stroke:rgba(15,46,36,.28);stroke-width:16;stroke-linecap:round}.map-road.fine{stroke-width:7;opacity:.75}
.map-trail{stroke:var(--pine-mid);stroke-width:5;stroke-linecap:round;stroke-dasharray:7 10}
.signal-live{position:absolute;z-index:3;top:24px;left:24px;padding:8px 12px;border-radius:999px;background:var(--chalk);color:var(--pine);font-family:Martian;font-size:8px;letter-spacing:.08em;text-transform:uppercase;box-shadow:0 10px 28px rgba(15,46,36,.12)}
.signal-live i{display:inline-block;width:7px;height:7px;margin-right:6px;border-radius:50%;background:var(--vermilion);box-shadow:0 0 0 4px rgba(229,67,43,.14)}
.signal-pin{position:absolute;z-index:4;left:58%;top:45%;width:92px;height:92px;padding:13px;border:7px solid var(--chalk);border-radius:50% 50% 50% 12px;background:var(--pine);box-shadow:0 18px 30px rgba(15,46,36,.28);transform:translate(-50%,-50%) rotate(-45deg)}
.signal-pin img{width:100%;height:100%;border-radius:50%;transform:rotate(45deg)}
.trusted-card{position:absolute;z-index:4;right:22px;bottom:22px;width:230px;padding:17px 18px;border-radius:17px;background:rgba(251,250,246,.94);box-shadow:0 20px 45px rgba(15,46,36,.2);color:var(--pine);backdrop-filter:blur(10px)}
.trusted-card span{display:block;margin-bottom:4px;font-family:Martian;font-size:8px;letter-spacing:.1em;text-transform:uppercase;color:var(--pine-mid)}
.trusted-card strong,.trusted-card small{display:block}.trusted-card strong{font-size:17px}.trusted-card small{margin-top:3px;color:#61766c;font-size:11px}

.life-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:20px;padding-top:0}
.life-card{min-height:320px;padding:30px;border:1px solid var(--line);border-radius:26px;background:var(--paper)}
.life-card-wide{position:relative;grid-column:1/-1;min-height:470px;padding:55px;background:var(--pine);color:var(--chalk);overflow:hidden}
.life-card-wide h2{max-width:820px;font-size:clamp(48px,6vw,76px)}
.life-card-wide>p:not(.eyebrow){max-width:670px;color:var(--sage);font-size:20px}
.card-kicker{color:var(--pine-mid);font-family:Martian;font-size:10px;letter-spacing:.16em;text-transform:uppercase}
.life-card h3{font-size:34px;line-height:1.08}
.life-card>p:last-child{color:var(--pine-mid)}
.accent-card{background:var(--sage-pale)}
.mini-trail{position:absolute;right:-30px;bottom:-30px;width:420px;height:280px;border:1px solid rgba(168,191,175,.35);border-radius:50%;transform:rotate(-15deg)}
.mini-trail::before,.mini-trail::after{content:"";position:absolute;border:1px solid rgba(168,191,175,.25);border-radius:50%}
.mini-trail::before{inset:35px -30px -10px 40px}.mini-trail::after{inset:80px 40px -45px -30px}
.mini-trail span,.mini-trail i,.mini-trail b{position:absolute;z-index:2;width:13px;height:13px;border-radius:50%;background:var(--vermilion)}
.mini-trail span{left:12%;top:42%}.mini-trail i{left:51%;top:23%}.mini-trail b{right:12%;bottom:28%}

.irish-story{position:relative;min-height:700px;padding:120px max(22px,calc((100vw - var(--max))/2 + 22px));display:grid;grid-template-columns:1fr 1.05fr;align-items:center;background:var(--pine-mid);color:var(--chalk);overflow:hidden}
.irish-story::before{content:"";position:absolute;left:0;right:0;bottom:0;height:24%;background:linear-gradient(to bottom,transparent,rgba(11,21,18,.18))}
.irish-map svg{width:90%;max-width:550px;fill:none;stroke:var(--sage);stroke-width:2;stroke-linecap:round}
.irish-map circle{fill:var(--vermilion);stroke:none}
.story-copy{position:relative;z-index:2}
.story-copy h2{font-size:clamp(48px,6vw,76px)}
.story-copy>p:not(.eyebrow){max-width:600px;color:var(--sage);font-size:20px}
.story-signoff{margin-top:32px!important;color:var(--chalk)!important;font-weight:750}

.order-section{display:grid;grid-template-columns:1fr 1fr;gap:80px;align-items:center}
.product-photo-wrap{position:relative;padding:38px;border-radius:34px;background:var(--sage-pale)}
.product-photo-wrap img{width:100%;aspect-ratio:1/1;object-fit:cover;border-radius:24px;mix-blend-mode:multiply}
.product-badge{position:absolute;left:58px;bottom:58px;padding:10px 15px;border-radius:999px;background:var(--chalk);font-family:Martian;font-size:9px;letter-spacing:.1em;text-transform:uppercase;box-shadow:0 8px 22px rgba(11,21,18,.12)}
.product-copy h2{font-size:clamp(50px,6vw,78px)}
.product-intro{color:var(--pine-mid);font-size:20px}
.included-list{display:grid;gap:11px;margin:30px 0 34px;padding:0;list-style:none}
.included-list span{display:inline-grid;place-items:center;width:23px;height:23px;margin-right:8px;border-radius:50%;background:var(--sage-pale);color:var(--pine);font-size:12px}
.buy-box{padding:24px;border:1px solid var(--line);border-radius:22px;background:var(--paper)}
.buy-box>div{display:flex;justify-content:space-between;gap:18px;align-items:end;margin-bottom:18px}
.buy-box small{font-family:Martian;font-size:9px;letter-spacing:.12em;text-transform:uppercase;color:var(--pine-mid)}
.buy-box strong{font-family:Archivo;font-size:22px;text-align:right}
.shipping-field{display:grid;gap:8px;margin:0 0 18px}
.shipping-field span{color:var(--pine-mid);font-family:Martian;font-size:9px;letter-spacing:.12em;text-transform:uppercase}
.shipping-field select{width:100%;min-height:52px;padding:0 44px 0 15px;border:1px solid var(--line);border-radius:14px;background:var(--chalk);color:var(--ink);font:inherit;cursor:pointer}
.shipping-field select:focus{outline:3px solid rgba(168,191,175,.45);outline-offset:2px}
.buy-button{width:100%}
.buy-button:disabled{cursor:wait;opacity:.7}
.buy-button.is-loading{box-shadow:none}
.checkout-note{margin:12px 0 0;text-align:center;color:#64746c;font-size:12px}

.checkout-page{min-height:100vh;background:linear-gradient(135deg,var(--chalk) 0 68%,var(--sage-pale) 68% 100%)}
.checkout-site-header{width:min(calc(100% - 44px),var(--max));height:86px;margin:22px auto 0;padding:12px 20px;display:flex;align-items:center;justify-content:space-between;border:1px solid rgba(15,46,36,.12);border-radius:24px;background:rgba(251,250,246,.92);box-shadow:0 12px 40px rgba(11,21,18,.06);backdrop-filter:blur(18px)}
.checkout-site-header .brand{width:190px}.checkout-site-header .brand-lockup::after{background:var(--paper)}
.checkout-back{font-weight:700;text-decoration:none}.checkout-back span{display:inline-block;margin-right:7px;color:var(--vermilion);transition:transform .2s}.checkout-back:hover span{transform:translateX(-4px)}
.checkout-main{width:min(calc(100% - 44px),var(--max));min-height:calc(100vh - 190px);margin:0 auto;padding:72px 0 80px;display:grid;grid-template-columns:1.1fr .9fr;gap:72px;align-items:center}
.checkout-product{display:grid;grid-template-columns:.82fr 1.18fr;gap:38px;align-items:center}
.checkout-product-image{position:relative;padding:24px;border-radius:32px;background:var(--sage-pale)}
.checkout-product-image img{width:100%;aspect-ratio:1/1;object-fit:cover;border-radius:22px;mix-blend-mode:multiply}
.checkout-image-label{position:absolute;z-index:2;left:38px;bottom:38px;padding:9px 12px;border-radius:999px;background:var(--paper);box-shadow:0 8px 20px rgba(15,46,36,.1);font-family:Martian;font-size:8px;letter-spacing:.11em;text-transform:uppercase}
.checkout-product-copy h1{margin-bottom:24px;font-size:clamp(56px,6.3vw,86px)}
.checkout-product-copy>p:not(.eyebrow){max-width:520px;color:var(--pine-mid);font-size:19px}
.checkout-included{display:grid;gap:17px;margin:32px 0 0;padding:0;list-style:none}
.checkout-included li{display:flex;gap:12px;align-items:flex-start}.checkout-included li>span{display:grid;place-items:center;flex:0 0 26px;width:26px;height:26px;border-radius:50%;background:var(--pine);color:var(--chalk);font-size:12px}.checkout-included div{display:grid}.checkout-included strong{line-height:1.25}.checkout-included small{color:#64746c}
.checkout-card{padding:36px;border:1px solid rgba(15,46,36,.13);border-radius:30px;background:var(--paper);box-shadow:0 28px 70px rgba(15,46,36,.13)}
.checkout-product-line{display:flex;justify-content:space-between;gap:20px;align-items:start;padding:0 0 25px;border-bottom:1px solid var(--line)}
.checkout-product-line div{display:grid}.checkout-product-line>strong{font-family:Archivo;font-size:23px}.checkout-product-line small{color:#64746c}
.checkout-shipping{margin:26px 0}
.checkout-costs{display:grid;gap:10px;padding:22px 0;border-top:1px solid var(--line)}
.checkout-costs>div{display:flex;justify-content:space-between;color:var(--pine-mid)}
.checkout-costs .checkout-total{margin-top:8px;padding-top:18px;border-top:1px solid var(--line);color:var(--ink);font-size:21px}
.checkout-assurances{display:flex;flex-wrap:wrap;justify-content:center;gap:8px 15px;margin-top:20px;color:var(--pine-mid);font-family:Martian;font-size:7px;letter-spacing:.06em;text-transform:uppercase}
.checkout-assurances span::before{content:"✓";margin-right:5px;color:var(--vermilion)}
.checkout-footer{width:min(calc(100% - 44px),var(--max));margin:0 auto;padding:24px 0 35px;display:flex;justify-content:space-between;gap:30px;border-top:1px solid rgba(15,46,36,.15);background:transparent;font-family:Martian;font-size:8px;letter-spacing:.08em;text-transform:uppercase}
.checkout-footer p{margin:0;color:var(--pine-mid)}.checkout-footer div{display:flex;gap:22px}.checkout-footer a{text-decoration:none}.checkout-footer a:hover{text-decoration:underline}

.faq-section{padding-top:50px}
.faq-list{border-top:1px solid var(--line)}
.faq-list details{border-bottom:1px solid var(--line)}
.faq-list summary{position:relative;padding:27px 50px 27px 0;cursor:pointer;list-style:none;font-family:Archivo;font-size:25px;font-weight:720}
.faq-list summary::-webkit-details-marker{display:none}
.faq-list summary::after{content:"+";position:absolute;right:6px;top:21px;color:var(--vermilion);font-family:Instrument;font-size:32px;font-weight:400}
.faq-list details[open] summary::after{content:"–"}
.faq-list details p{max-width:760px;padding:0 0 27px;color:var(--pine-mid)}

.final-cta{padding:125px 22px;text-align:center;background:var(--vermilion);color:var(--chalk)}
.final-cta .eyebrow{color:#f7c6bd}
.final-cta h2{max-width:950px;margin:0 auto 38px;font-size:clamp(52px,7vw,88px)}

footer{padding:65px max(22px,calc((100vw - var(--max))/2 + 22px)) 35px;background:var(--chalk);display:grid;grid-template-columns:1.2fr 1fr;gap:50px;border-top:1px solid var(--line)}
.footer-brand .brand{width:230px;margin-bottom:18px}
.footer-brand .brand-tagline{font-size:6px}
.footer-brand p{max-width:350px;color:var(--pine-mid)}
.footer-links{display:grid;grid-template-columns:repeat(2,1fr);gap:13px 30px;align-content:start}
.footer-links a{text-decoration:none;font-weight:650}
.footer-links a:hover{text-decoration:underline}
.copyright{grid-column:1/-1;margin:30px 0 0;padding-top:22px;border-top:1px solid var(--line);font-family:Martian;font-size:9px;letter-spacing:.1em;text-transform:uppercase;color:var(--pine-mid)}

.checkout-dialog{width:min(540px,calc(100% - 32px));padding:38px;border:1px solid var(--line);border-radius:28px;background:var(--chalk);color:var(--ink);box-shadow:0 35px 90px rgba(0,0,0,.28)}
.checkout-dialog[open]{position:fixed;z-index:100;inset:50% auto auto 50%;transform:translate(-50%,-50%)}
.checkout-dialog::backdrop{background:rgba(11,21,18,.72);backdrop-filter:blur(6px)}
.checkout-dialog h2{font-size:42px}.checkout-dialog p:not(.eyebrow){color:var(--pine-mid)}
.dialog-close{position:absolute;right:18px;top:14px;border:0;background:none;color:var(--pine);font-size:30px;cursor:pointer}

.reveal{opacity:0;transform:translateY(22px);transition:opacity .7s ease,transform .7s ease}
.reveal.visible{opacity:1;transform:none}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}.reveal{opacity:1;transform:none;transition:none}.demo-puck.is-active{animation:none}}

@media(max-width:980px){
  .site-header nav{display:none}
  .hero{grid-template-columns:1fr;padding-top:145px}
  .hero-copy{text-align:center}.hero-lede{margin-left:auto;margin-right:auto}.hero-actions,.hero-notes{justify-content:center}
  .hero-visual{width:min(640px,100%);min-height:570px;margin:10px auto 0}
  .section-heading{grid-template-columns:1fr}.section-heading>p:last-child{margin-top:22px}
  .steps{grid-template-columns:1fr}.step{display:grid;grid-template-columns:220px 1fr;column-gap:28px}.step-art{grid-row:1/4;margin:0}.step h3{align-self:end}.step p{align-self:start}.step-number{left:248px;right:auto}
  .demo-section{grid-template-columns:1fr}.demo-stage{justify-content:center;padding-left:0}.demo-puck{right:7%}
  .phone-gallery{gap:12px}.phone-shot img{border-width:5px;border-radius:25px}.shot-two{margin-top:35px}.shot-three{margin-top:70px}
  .feature-heading{grid-template-columns:1fr}.feature-heading>p:last-child{margin-top:22px}.feature-panel{grid-template-columns:1fr;min-height:auto}.feature-copy{padding:50px}.feature-visual{min-height:540px}.signal-map{margin:0 34px 34px}
  .life-grid{grid-template-columns:1fr 1fr}.life-card-wide{grid-column:1/-1}.life-grid .life-card:last-child{grid-column:1/-1}
  .irish-story,.order-section{grid-template-columns:1fr}.irish-map{display:none}.irish-story{min-height:auto}.order-section{gap:48px}.product-photo-wrap{max-width:640px;margin:auto}
  .checkout-main{grid-template-columns:1fr;gap:45px;padding-top:55px}.checkout-product{grid-template-columns:.72fr 1.28fr}.checkout-card{width:min(650px,100%);margin:auto}
}

@media(max-width:660px){
  body{font-size:16px}.site-header{top:10px;width:calc(100% - 20px);height:64px;padding-left:15px;border-radius:18px}.site-header .brand{width:142px}.site-header .brand-tagline{font-size:4px;letter-spacing:.11em}.site-header .button{min-height:43px;padding:0 13px;font-size:13px}
  .hero{min-height:auto;padding:125px 18px 65px;gap:35px}.hero-copy{text-align:left}.hero-actions,.hero-notes{justify-content:flex-start}.hero-actions{align-items:flex-start;flex-direction:column;gap:10px}.hero-lede{font-size:19px}.hero-visual{min-height:430px;border-radius:32px}.puck-stage{width:295px;height:255px}.hero-card{font-size:11px;padding:9px 11px}.card-top{left:1%;top:17%}.card-bottom{right:1%;bottom:20%}.trail-line{bottom:2%}
  .manifesto{padding:70px 18px}.section{padding:85px 18px}.section-heading{margin-bottom:38px}.steps{display:grid}.step{display:block}.step-art{height:190px;margin-bottom:24px}.step-number{left:auto;right:24px}
  .demo-section{padding:85px 18px;gap:35px}.demo-stage{min-height:620px;justify-content:flex-start}.demo-phone{width:280px;height:570px;border-radius:42px}.phone-screen{padding:60px 20px 23px}.demo-puck{right:-20px;bottom:45px;width:160px;height:165px}.demo-puck img{width:160px}.demo-puck-label{bottom:0;font-size:6px;padding:7px 9px}.phone-screen h3{font-size:30px}.timer-ring{width:150px;height:150px}.demo-reset{right:2%;bottom:10px}
  .phone-gallery{display:flex;gap:16px;overflow-x:auto;padding:5px 14px 30px 2px;scroll-snap-type:x mandatory}.phone-shot{min-width:78vw!important;margin:0!important;scroll-snap-align:start}.phone-shot img{border-width:7px;border-radius:32px}
  .feature-stories{padding:85px 18px}.feature-heading{margin-bottom:38px}.feature-heading>p:last-child{font-size:18px}.feature-panels{gap:18px}.feature-panel{border-radius:26px}.feature-copy{padding:34px 28px}.feature-copy h3{font-size:42px}.feature-copy>p:not(.card-kicker):not(.feature-note){font-size:17px}.feature-visual{min-height:440px}.alarm-phone{left:6%;top:8%;width:190px;height:365px;padding:62px 18px 25px;border-width:7px;border-radius:32px}.alarm-phone strong{margin-top:57px;font-size:54px}.alarm-puck{right:-15%;bottom:3%;width:270px}.morning-sun{width:82px;height:82px}.signal-map{min-height:420px;margin:0 16px 16px}.signal-pin{left:52%;top:43%;width:82px;height:82px}.trusted-card{right:15px;bottom:15px;width:215px}.duration-row span{font-size:7px}
  .life-grid{grid-template-columns:1fr}.life-card-wide,.life-grid .life-card:last-child{grid-column:auto}.life-card-wide{min-height:540px;padding:32px}.mini-trail{right:-180px}.life-card{min-height:270px}
  .irish-story{padding:85px 18px}.order-section{padding-top:85px}.product-photo-wrap{padding:18px;border-radius:25px}.product-badge{left:30px;bottom:30px}.buy-box>div{display:block}.buy-box strong{display:block;margin-top:8px;text-align:left}
  .faq-list summary{font-size:21px}.final-cta{padding:85px 18px}footer{grid-template-columns:1fr;padding:50px 18px 28px}.footer-links{grid-template-columns:1fr 1fr}
  .checkout-page{background:var(--chalk)}.checkout-site-header{width:calc(100% - 20px);height:66px;margin-top:10px;padding:8px 14px;border-radius:18px}.checkout-site-header .brand{width:145px}.checkout-back{font-size:13px}.checkout-main{width:calc(100% - 32px);padding:45px 0 60px}.checkout-product{grid-template-columns:1fr;gap:30px}.checkout-product-image{max-width:360px;padding:17px}.checkout-image-label{left:28px;bottom:28px}.checkout-product-copy h1{font-size:58px}.checkout-card{padding:25px;border-radius:24px}.checkout-footer{width:calc(100% - 32px);flex-direction:column;gap:14px}.checkout-footer div{gap:16px}
}
