/* Functional foundation retained from v1.0. */
:root{--ink:#102e2b;--muted:#506562;--green:#126649;--green-dark:#0a4938;--lime:#dcf780;--mint:#eaf3ee;--paper:#f9faf7;--line:#dce4df;--white:#fff;--danger:#a23927;--radius:20px;--shadow:0 18px 50px #16352c0a;--wrap:1200px;font-family:Inter,ui-sans-serif,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;color:var(--ink);background:var(--paper);font-synthesis:none;text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased}

*{box-sizing:border-box}
body{margin:0}
a{color:inherit;text-decoration:none}
button,input,select,textarea{font:inherit}
button,a,input,select,textarea{-webkit-tap-highlight-color:transparent}
button{cursor:pointer}
button:disabled{cursor:wait;opacity:.58}
img,svg{max-width:100%}
button{color:inherit}
p{line-height:1.7;color:var(--muted)}
h1,h2,h3,h4,p{margin-top:0}
h1,h2,h3{letter-spacing:-.045em;line-height:1.08}
h1{font-size:clamp(42px,6.2vw,76px);font-weight:720;margin-bottom:22px}
h2{font-size:clamp(30px,3.3vw,44px);font-weight:680;margin-bottom:18px}
h3{font-size:22px;letter-spacing:-.025em;line-height:1.25}
small,.small{font-size:12px;line-height:1.6}
.muted{color:var(--muted)}
.container{width:min(var(--wrap),calc(100% - 64px));margin-inline:auto}
.section{padding-block:86px}
.section-sm{padding-block:54px}
.section-head{display:flex;justify-content:space-between;align-items:end;gap:28px;margin-bottom:32px}
.section-head h2{margin-bottom:0}
.section-head p{max-width:460px;margin:0}
.eyebrow{font-size:11px;font-weight:750;letter-spacing:.14em;text-transform:uppercase;display:block;color:var(--green);margin-bottom:18px}
.icon{width:20px;height:20px;stroke:currentColor;fill:none;stroke-width:1.65;stroke-linecap:round;stroke-linejoin:round;flex:none;vertical-align:middle}
.link-arrow{display:inline-flex;align-items:center;gap:8px;font-size:14px;font-weight:650;color:var(--green);line-height:1.5}
.link-arrow:hover{text-decoration:underline;text-underline-offset:4px}
.btn{border:1px solid transparent;border-radius:10px;min-height:49px;padding:13px 22px;display:inline-flex;align-items:center;justify-content:center;gap:12px;font-weight:650;font-size:14px;letter-spacing:-.01em;line-height:1.25;background:var(--green);color:#fff;transition:background .15s,transform .15s}
.btn:hover{background:var(--green-dark)}
.btn.secondary{background:#fff;border-color:var(--line);color:var(--ink)}
.btn.secondary:hover{background:var(--mint)}
.btn.lime{background:var(--lime);color:var(--ink)}
.btn.lime:hover{background:#c8eb64}
.btn.text{padding-inline:0;color:var(--ink);background:none;min-height:44px;font-weight:550}
.btn.small{min-height:40px;padding:10px 16px;font-size:13px}
.btn.wide{width:100%}
.button-row{display:flex;flex-wrap:wrap;align-items:center;gap:12px}
.text-link{text-decoration:underline;text-underline-offset:3px}
.skip-link{position:fixed;top:-70px;left:15px;z-index:200;background:#fff;padding:14px}
.skip-link:focus{top:10px}
:focus-visible{outline:3px solid #75ad83;outline-offset:4px;border-radius:5px}
[hidden]{display:none!important}
.preview-bar{font-size:11px;letter-spacing:.01em;background:#f6efd6;color:#5b542e;border-bottom:1px solid #eae1c3;padding:9px 0}
.preview-bar .container{display:flex;justify-content:space-between;align-items:center;gap:15px}
.preview-bar b{font-weight:750}
.preview-bar a{text-decoration:underline;white-space:nowrap}
.topline{background:var(--ink);color:#eaf4eb;font-size:11px}
.topline .container{display:flex;justify-content:space-between;gap:20px;padding-block:9px}
.topline span{display:flex;gap:8px;align-items:center}
.topline .icon{width:14px;height:14px;color:var(--lime)}
.site-header{background:#ffffffed;border-bottom:1px solid var(--line);position:relative;z-index:30}
.header-inner{display:flex;align-items:center;min-height:85px;gap:28px}
.brand{font-size:29px;font-weight:780;letter-spacing:-1.65px;white-space:nowrap;line-height:1.1}
.brand span{color:var(--green)}
.brand small{display:block;font-size:9px;font-weight:550;letter-spacing:.04em;color:var(--muted);margin-top:5px}
.main-nav{display:flex;gap:27px;margin-left:auto;align-items:center}
.main-nav a{font-size:13px;font-weight:560;padding-block:12px}
.main-nav a:hover{color:var(--green)}
.nav-utils{display:flex;gap:22px;align-items:center;padding-left:20px;border-left:1px solid var(--line);font-size:12px}
.menu-toggle{display:none;background:#fff;border:1px solid var(--line);height:44px;width:44px;border-radius:9px}
.hero{padding-block:58px 52px;background:linear-gradient(120deg,#f8faf5 10%,#edf5ef 75%,#e6f0e6 100%);overflow:hidden}
.hero-grid{display:grid;grid-template-columns:1.12fr 1fr;gap:44px;align-items:center}
.hero h1 .accent{color:var(--green)}
.hero-copy>p{font-size:17px;max-width:485px;line-height:1.65;margin-bottom:25px}
.local-pill{display:inline-flex;align-items:center;gap:8px;padding:7px 11px;border:1px solid #cedfd0;border-radius:30px;background:#ffffff8a;font-size:10px;font-weight:650;letter-spacing:.08em;text-transform:uppercase;margin-bottom:25px}
.irish-flag{width:16px;height:11px;border-radius:2px;background:linear-gradient(90deg,#169b62 33%,#fff 33%,#fff 66%,#ff883e 66%)}
.search-box{position:relative;max-width:575px;z-index:15}
.search-form{display:flex;align-items:center;background:#fff;border:1px solid #c9d9cc;border-radius:13px;padding:7px;box-shadow:0 8px 22px #25452e0a;gap:7px}
.search-form>.icon{margin-left:12px;color:var(--muted)}
.search-form input{width:100%;min-width:0;border:0;outline:0;background:transparent;color:var(--ink);font-size:14px;padding:11px 5px;height:46px}
.search-form .btn{white-space:nowrap;padding:13px 18px}
.search-form:focus-within{outline:2px solid #12664955;outline-offset:2px}
.search-examples{display:flex;align-items:center;gap:10px;flex-wrap:wrap;font-size:11px;margin-top:13px;color:var(--muted)}
.search-examples a{color:var(--ink);text-decoration:underline;text-underline-offset:3px}
.search-results{background:#fff;position:absolute;top:64px;left:0;right:0;box-shadow:0 16px 25px #10372a18;border:1px solid var(--line);border-radius:12px;padding:7px;list-style:none;margin:0;max-height:350px;overflow-y:auto}
.search-results a{padding:13px 12px;display:flex;align-items:center;justify-content:space-between;gap:8px;border-radius:7px;font-size:14px}
.search-results a.active,.search-results a:hover{background:var(--mint)}
.search-results li.empty{padding:15px;line-height:1.6;font-size:13px}
.hero-proof{display:flex;gap:24px;margin-top:30px;font-size:11px}
.hero-proof span{display:flex;align-items:center;gap:7px}
.hero-proof .icon{width:16px;color:var(--green)}
.hero-art{position:relative;height:446px;display:flex;align-items:center;justify-content:center;isolation:isolate}
.hero-disc{width:395px;height:395px;position:absolute;border-radius:50%;background:#e0edce;z-index:-1}
.hero-disc:before{content:'';position:absolute;inset:25px;border:1px solid #bacf9a;border-radius:50%}
.hero-disc:after{content:'';position:absolute;inset:-28px;border:1px dashed #cadbbd;border-radius:50%}
.phone{width:158px;height:304px;position:relative;background:linear-gradient(125deg,#e7e8df,#bcbeb4 55%,#d8dbd0);border:3px solid #969c90;border-radius:30px;box-shadow:5px 10px 0 #738073,13px 30px 28px #0f3e342b;transform:rotate(-13deg);display:block}
.phone:before{content:'';width:5px;height:35px;background:#858e81;position:absolute;right:-6px;top:80px;border-radius:0 2px 2px 0}
.camera-block{position:absolute;left:12px;top:12px;width:76px;height:86px;background:linear-gradient(130deg,#c6c9bd,#b2b9ab);border:1px solid #9aa391;border-radius:21px;box-shadow:0 2px 2px #68796055}
.camera-block i{position:absolute;display:block;width:30px;height:30px;border:4px solid #748074;border-radius:50%;background:radial-gradient(circle at 60% 40%,#6b88a0 2%,#253d43 12%,#080f18 38%,#131e28 54%,#020708 72%);box-shadow:1px 2px 1px #536154}
.camera-block i:nth-child(1){top:7px;left:7px}
.camera-block i:nth-child(2){bottom:7px;left:7px}
.camera-block i:nth-child(3){top:27px;right:3px}
.phone-wordmark{position:absolute;left:50%;top:57%;transform:translate(-50%,-50%);font-size:13px;color:#7d8978;font-weight:650;letter-spacing:-.6px}
.phone.front{position:absolute;transform:translate(63px,13px) rotate(12deg);width:158px;height:312px;border:5px solid #243b30;border-radius:31px;background:#142e28;box-shadow:5px 5px 0 #52694f,14px 30px 35px #10372225;overflow:hidden;z-index:2}
.phone.front:before{z-index:5;top:7px;left:50%;transform:translateX(-50%);width:47px;height:12px;background:#0b1c17;border-radius:12px}
.phone.front .wallpaper{position:absolute;inset:0;background:radial-gradient(ellipse at 80% 5%,#e3f787 0,#b9d976 24%,transparent 25%),radial-gradient(ellipse at 20% 40%,#789e6d 0,#658f63 35%,transparent 36%),radial-gradient(ellipse at 95% 90%,#c4e38e 0,#7fa366 49%,transparent 50%),#345f4c}
.phone.front .screen-label{position:absolute;z-index:2;top:45px;left:15px;right:15px;text-align:center;color:#f5fbe5;font-weight:550;font-size:11px;line-height:1.6}
.screen-label strong{display:block;font-size:46px;font-weight:350;letter-spacing:-2px}
.phone.back{transform:translate(-67px,-13px) rotate(-16deg)}
.float-card{position:absolute;z-index:4;background:#fff;border:1px solid #e7eee4;box-shadow:0 10px 28px #193f2110;border-radius:13px;padding:15px 18px}
.float-card.value{right:-6px;top:37px;width:184px;transform:rotate(4deg)}
.float-card .mini-label{font-size:9px;letter-spacing:.08em;text-transform:uppercase;color:var(--muted);font-weight:650}
.float-card strong{display:block;margin:7px 0 3px;font-size:18px;letter-spacing:-.035em}
.float-card p{font-size:10px;margin:0}
.float-card.receipt{bottom:25px;left:3px;display:flex;align-items:center;gap:10px;padding:13px 16px;transform:rotate(-4deg)}
.round-icon{width:35px;height:35px;border-radius:50%;display:inline-flex;align-items:center;justify-content:center;background:var(--mint);color:var(--green);flex:none}
.round-icon.lime{background:var(--lime)}
.receipt strong{font-size:12px;margin:0 0 3px}
.receipt p{font-size:10px}
.hero-note{position:absolute;right:0;bottom:40px;max-width:100px;color:var(--green);font-size:12px;line-height:1.55}
.trust-strip{background:#fff;border-block:1px solid var(--line)}
.trust-strip .container{display:grid;grid-template-columns:repeat(4,1fr);align-items:center;min-height:83px}
.trust-item{padding:7px 25px;border-right:1px solid var(--line);display:flex;align-items:center;gap:13px}
.trust-item:first-child{padding-left:0}
.trust-item:last-child{border:0}
.trust-item .icon{width:22px;height:22px;color:var(--green)}
.trust-item strong{font-size:12px;display:block;margin-bottom:4px}
.trust-item span{font-size:10px;color:var(--muted)}
.category-grid{display:grid;grid-template-columns:repeat(6,1fr);gap:14px}
.category-card{border:1px solid var(--line);border-radius:15px;background:#fff;padding:21px 13px 17px;text-align:center;transition:transform .15s,border-color .15s;min-height:192px}
.category-card:hover{transform:translateY(-4px);border-color:#97b4a0}
.category-card strong{font-size:13px;display:block;margin:15px 0 4px}
.category-card small{font-size:10px;color:var(--muted)}
.category-art{height:88px;display:flex;align-items:center;justify-content:center}
.mini-device{height:84px;width:43px;border:2px solid #788f7c;border-radius:9px;position:relative;background:linear-gradient(135deg,#e1e7d6,#b8c7b1);box-shadow:3px 4px 0 #c2cebd;transform:rotate(-9deg)}
.mini-device:before{content:'';position:absolute;top:6px;left:5px;width:10px;height:10px;background:radial-gradient(circle,#607b8c 1px,#112e2a 2px,#223d31 4px,#92a28a 4.5px);border-radius:50%;box-shadow:0 13px 0 #21392e,12px 6px 0 #233f2e}
.mini-device.samsung{border-color:#8f809e;background:linear-gradient(120deg,#e2dcec,#b9abc9);box-shadow:3px 4px 0 #c7bbd1;transform:rotate(8deg)}
.mini-device.samsung:before{box-shadow:0 13px 0 #29342e,0 26px 0 #29342e}
.mini-device.google-pixel{background:linear-gradient(130deg,#f2d5b9,#d5af89);border-color:#ac957b;box-shadow:3px 4px 0 #c4ac92}
.mini-device.google-pixel:before{left:-2px;top:13px;width:43px;height:15px;background:linear-gradient(90deg,#827363,#393a34 25%,#272e28 75%,#827363);box-shadow:none;border-radius:4px}
.mini-device.ipad{height:85px;width:61px;border-radius:7px;background:linear-gradient(135deg,#e8deca,#cdc1a9);border-color:#9c9687}
.mini-device.ipad:before{width:6px;height:6px;left:5px;top:5px;box-shadow:none;background:#343d35}
.mini-device.games-consoles{height:76px;width:41px;border-radius:6px 15px 12px 4px;background:linear-gradient(90deg,#d4e0e6 35%,#213330 36%,#203a39 60%,#e1e9eb 61%);border-color:#9dabac;box-shadow:3px 4px 0 #c1cacc}
.mini-device.games-consoles:before{display:none}
.all-art{font-size:42px;font-weight:300;color:var(--green);letter-spacing:-2px}
.steps-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}
.step-card{padding:30px;border:1px solid var(--line);border-radius:var(--radius);background:#fff}
.step-top{display:flex;align-items:center;justify-content:space-between;margin-bottom:35px}
.step-num{font-size:12px;font-weight:650;color:var(--muted)}
.step-top .icon{width:27px;height:27px;color:var(--green)}
.step-card h3{font-size:21px;margin-bottom:11px}
.step-card p{font-size:13px;margin:0;max-width:285px}
.tint{background:#edf3ed}
.split{display:grid;grid-template-columns:1fr 1fr;gap:75px;align-items:center}
.benefits{display:grid;gap:24px}
.benefit{display:flex;gap:16px}
.benefit h3{font-size:16px;margin:0 0 7px;letter-spacing:-.015em}
.benefit p{font-size:13px;margin:0}
.benefit .round-icon{width:40px;height:40px;border:1px solid #d5e3d4;background:#fff}
.reason-card{background:var(--ink);border-radius:25px;min-height:380px;padding:40px;position:relative;overflow:hidden;display:flex;flex-direction:column;justify-content:space-between}
.reason-card:after{content:'';position:absolute;right:-60px;bottom:-150px;width:330px;height:330px;border:1px solid #d9ee8330;border-radius:50%;box-shadow:0 0 0 45px #d9ee830a,0 0 0 90px #d9ee8305}
.reason-card .eyebrow{color:var(--lime)}
.reason-card h2{color:#fff;font-size:39px;max-width:280px;position:relative;z-index:1}
.reason-card p{font-size:12px;color:#c3d7ca;max-width:310px;margin-bottom:0;position:relative;z-index:1}
.reason-card .icon{color:var(--lime);width:35px;height:35px;margin-bottom:25px}
.models-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:16px}
.model-card{background:#fff;border:1px solid var(--line);border-radius:17px;padding:24px;display:flex;flex-direction:column;transition:transform .15s,border-color .15s}
.model-card:hover{transform:translateY(-3px);border-color:#9ab6a0}
.model-card .category-art{height:125px;background:#f2f5ef;border-radius:10px;margin-bottom:22px}
.model-card .category-art .mini-device{height:97px;width:48px}
.model-card h3{font-size:17px;letter-spacing:-.025em;margin:0 0 7px}
.model-card .model-brand{font-size:10px;color:var(--muted);margin-bottom:6px}
.model-card .storage-options{font-size:10px;color:var(--muted);margin-bottom:18px}
.model-card .link-arrow{font-size:12px;margin-top:auto}
.partner-band{background:var(--green-dark);color:white;border-radius:24px;padding:48px;display:grid;grid-template-columns:1.25fr .8fr;align-items:center;gap:60px;overflow:hidden;position:relative}
.partner-band .eyebrow{color:var(--lime)}
.partner-band h2{font-size:34px;color:#fff}
.partner-band p{color:#d4e4d8;font-size:13px;max-width:515px}
.partner-band .link-arrow{color:var(--lime)}
.zoo-panel{padding:30px;border:1px solid #83ab8e50;border-radius:17px;background:#125440;position:relative;min-height:220px;display:flex;align-items:center;justify-content:center;flex-direction:column;text-align:center}
.zoo-panel:before,.zoo-panel:after{content:'';position:absolute;width:90px;height:150px;transform:rotate(-35deg);border-radius:95% 5% 90% 10%;background:#517c5038;right:-30px;bottom:-25px}
.zoo-panel:after{left:-25px;top:-30px;transform:rotate(100deg)}
.zoo-panel .zoo-name{font-size:13px;letter-spacing:.35em;color:#d2e3cf;font-weight:650}
.zoo-panel .zoo-large{font-size:62px;letter-spacing:-.07em;font-weight:800;line-height:1.1;color:var(--lime)}
.zoo-panel small{font-size:10px;letter-spacing:.08em;margin-top:13px;color:#b8d3b8}
.faq-grid{display:grid;grid-template-columns:.75fr 1.25fr;gap:80px}
.faq-intro p{font-size:14px;max-width:300px}
.faq-list details{border-bottom:1px solid var(--line)}
.faq-list details:first-child{border-top:1px solid var(--line)}
.faq-list summary{display:flex;justify-content:space-between;align-items:center;gap:20px;list-style:none;font-size:14px;line-height:1.5;font-weight:620;cursor:pointer;padding:21px 2px}
.faq-list summary::-webkit-details-marker{display:none}
.faq-list summary:after{content:'+';font-size:21px;font-weight:350;flex:none;color:var(--green)}
.faq-list details[open] summary:after{content:'−'}
.faq-list details p{font-size:13px;margin:0;padding:0 30px 22px 2px}
.final-cta{background:#e6efda;border-radius:23px;padding:50px;text-align:center;position:relative;overflow:hidden}
.final-cta h2{font-size:38px}
.final-cta p{font-size:14px;margin-bottom:25px}
.final-cta .eyebrow{margin-bottom:14px}
.site-footer{padding:53px 0 24px;border-top:1px solid var(--line);background:#fff}
.footer-main{display:grid;grid-template-columns:1.6fr repeat(3,1fr);gap:45px;padding-bottom:40px}
.footer-main p{font-size:12px;max-width:260px;margin-top:16px}
.footer-col strong{font-size:12px;display:block;margin-bottom:17px}
.footer-col a{font-size:11px;color:var(--muted);display:block;margin-block:11px}
.footer-col a:hover{text-decoration:underline}
.footer-bottom{border-top:1px solid var(--line);padding-top:21px;display:flex;justify-content:space-between;gap:25px;align-items:center;font-size:10px;color:var(--muted)}
.footer-bottom p{margin:0;font-size:10px}
.footer-bottom button{font:inherit;background:none;border:0;text-decoration:underline;white-space:nowrap;padding:8px}
.breadcrumb{list-style:none;display:flex;flex-wrap:wrap;gap:9px;margin:0 0 25px;padding:0;font-size:11px;color:var(--muted)}
.breadcrumb li:not(:last-child):after{content:' / ';padding-left:9px;color:#8da096}
.breadcrumb a:hover{text-decoration:underline}
.page-hero{padding-block:42px 49px;background:linear-gradient(115deg,#f2f6ed,#ecf4ee)}
.page-hero h1{font-size:clamp(36px,4.3vw,53px);max-width:830px}
.page-hero p{font-size:16px;max-width:670px;margin:0}
.page-hero .search-box{margin-top:26px}
.filters{display:flex;flex-wrap:wrap;gap:9px;margin-bottom:28px}
.filter{background:#fff;border:1px solid var(--line);padding:10px 16px;border-radius:25px;font-size:12px;min-height:42px}
.filter[aria-pressed=true],.filter:hover{background:var(--green);border-color:var(--green);color:#fff}
.catalogue-tools{display:flex;align-items:center;justify-content:space-between;gap:18px;margin-bottom:22px}
.catalogue-tools input{max-width:360px}
.catalogue-tools p{font-size:12px;margin:0}
.empty-state{padding:35px;border:1px dashed var(--line);border-radius:15px;text-align:center;background:#fff}
.empty-state p{font-size:14px}
.model-hero{display:grid;grid-template-columns:1fr 420px;gap:90px;align-items:center}
.model-art{background:#e4eddd;border-radius:25px;min-height:365px;display:flex;align-items:center;justify-content:center;position:relative;overflow:hidden}
.model-art:before{content:'';width:280px;height:280px;border:1px solid #bbcfae;border-radius:50%;position:absolute}
.model-art .phone{transform:rotate(-12deg);scale:.87}
.model-art .art-label{position:absolute;bottom:14px;font-size:9px;color:var(--muted);left:0;right:0;text-align:center}
.model-hero .button-row{margin-top:25px}
.pill-row{display:flex;flex-wrap:wrap;gap:8px;margin-top:20px}
.pill{font-size:11px;border:1px solid #cbdbce;border-radius:6px;padding:7px 10px;background:#ffffff77}
.guide-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:19px}
.guide-card{border:1px solid var(--line);background:#fff;border-radius:18px;padding:28px;display:flex;flex-direction:column;min-height:230px}
.guide-card .eyebrow{font-size:9px;margin-bottom:27px}
.guide-card h3{font-size:21px;line-height:1.3}
.guide-card p{font-size:12px}
.guide-card .link-arrow{font-size:12px;margin-top:auto}
.article-layout{display:grid;grid-template-columns:1fr 295px;gap:85px}
.article-content{max-width:720px}
.article-content h2{font-size:26px;letter-spacing:-.025em;margin-top:37px}
.article-content h2:first-child{margin-top:0}
.article-content p{font-size:15px}
.article-content ul,.article-content ol{padding-left:23px;font-size:14px;line-height:1.8;color:var(--muted)}
.article-meta{font-size:11px;color:var(--muted);margin-bottom:26px}
.article-aside{align-self:start;position:sticky;top:25px;border:1px solid var(--line);background:#fff;border-radius:18px;padding:27px}
.article-aside h3{font-size:21px}
.article-aside p{font-size:12px}
.sources{margin-top:35px;padding-top:20px;border-top:1px solid var(--line);font-size:12px}
.sources a{display:block;margin-top:10px;color:var(--green);text-decoration:underline}
.notice{border:1px solid #dadcbe;border-radius:11px;background:#f8f5e8;padding:14px 17px;color:#655e33;font-size:12px;line-height:1.65}
.notice p{color:inherit;font-size:12px;margin:0}
.notice.success{background:var(--mint);border-color:#c8decf;color:var(--green)}
.notice.error{background:#fff1ed;border-color:#e7b8a9;color:var(--danger)}
.contact-grid{display:grid;grid-template-columns:1fr 1fr;gap:24px}
.contact-card{padding:30px;border-radius:18px;background:#fff;border:1px solid var(--line)}
.contact-card h3{margin-top:22px}
.contact-card p{font-size:14px}
.address{font-style:normal;font-size:14px;line-height:1.8;color:var(--muted)}
/* Quote application */
.quote-section{padding:43px 0 70px;min-height:650px}
.quote-layout{display:grid;grid-template-columns:minmax(0,1fr) 320px;gap:35px;align-items:start;max-width:1050px;margin:auto}
.quote-panel{padding:32px 37px;background:#fff;border:1px solid var(--line);border-radius:20px;min-height:420px}
.quote-panel h1{font-size:31px;letter-spacing:-.04em;margin:5px 0 12px}
.quote-panel .subtext{font-size:13px;margin-bottom:27px}
.progress{display:flex;justify-content:space-between;gap:7px;list-style:none;padding:0;margin:0 0 32px;counter-reset:steps}
.progress li{flex:1;font-size:10px;color:#819087;position:relative;padding-top:12px;border-top:3px solid #e3eae3}
.progress li.active{color:var(--green);font-weight:700;border-color:var(--green)}
.progress li.done{border-color:#9dc29d;color:var(--green)}
.back-btn{padding:4px 0;display:inline-flex;align-items:center;gap:6px;font-size:11px;color:var(--muted);border:0;background:transparent;min-height:33px;margin-bottom:10px}
.back-btn .icon{width:15px;height:15px;transform:rotate(180deg)}
.quote-summary{padding:27px;background:#eaf1e5;border-radius:19px;position:sticky;top:25px}
.quote-summary .eyebrow{font-size:9px;margin-bottom:20px}
.quote-summary .selected-device{display:flex;gap:19px;align-items:center;margin:17px 0 24px}
.quote-summary h3{font-size:19px;margin-bottom:5px}
.quote-summary .mini-device{height:65px;width:33px;flex:none}
.quote-summary p{font-size:11px;margin:0}
.summary-lines{font-size:12px;border-top:1px solid #cfdcc9;padding-top:14px}
.summary-line{display:flex;justify-content:space-between;gap:18px;margin:11px 0;line-height:1.5}
.summary-line span{color:var(--muted)}
.summary-line strong{text-align:right;font-size:12px}
.summary-help{padding-top:22px;margin-top:23px;border-top:1px solid #cfdcc9;font-size:11px}
.summary-help a{color:var(--green);text-decoration:underline}
.quote-options{display:grid;grid-template-columns:repeat(2,1fr);gap:11px;margin-bottom:23px}
.option{padding:18px;border:1px solid var(--line);border-radius:10px;display:flex;align-items:center;justify-content:space-between;gap:15px;cursor:pointer;background:#fff;min-height:68px}
.option:has(input:checked){border-color:var(--green);background:#edf5ed;box-shadow:0 0 0 1px var(--green)}
.option strong{font-size:14px;display:block}
.option small{font-size:11px;display:block;color:var(--muted);margin-top:5px;line-height:1.5}
.option input{accent-color:var(--green);width:17px;height:17px;flex:none}
.option.cond-option{display:block;padding:18px}
.option.cond-option .option-heading{display:flex;align-items:center;justify-content:space-between}
.condition-options{grid-template-columns:1fr}
.condition-note{font-size:11px;color:var(--muted);margin:-8px 0 23px;line-height:1.6}
.condition-row{padding:19px 0;border-bottom:1px solid var(--line);display:flex;justify-content:space-between;gap:20px;align-items:center}
.condition-row>div:first-child{flex:1}
.condition-row strong{font-size:13px;font-weight:600;display:block;line-height:1.5}
.condition-row small{color:var(--muted);font-size:11px;display:block;line-height:1.55;margin-top:3px}
.segmented{display:flex;gap:6px;flex:none}
.segmented label{border:1px solid var(--line);border-radius:7px;min-width:52px;min-height:40px;display:flex;align-items:center;justify-content:center;font-size:12px;cursor:pointer;position:relative}
.segmented input{position:absolute;opacity:0;width:100%;height:100%;cursor:pointer;inset:0;margin:0}
.segmented label:has(input:checked){border-color:var(--green);background:var(--mint);color:var(--green);font-weight:650}
.segmented label:has(input:focus-visible){outline:3px solid #75ad83;outline-offset:3px}
.quote-actions{margin-top:27px;display:flex;justify-content:space-between;gap:15px;align-items:center}
.quote-actions .btn{margin-left:auto}
.quote-actions small{color:var(--muted);font-size:10px;max-width:170px}
.field-grid{display:grid;grid-template-columns:1fr 1fr;gap:17px}
.field{display:flex;flex-direction:column;gap:7px}
.field.full{grid-column:1/-1}
.field label{font-size:12px;font-weight:600}
.input{background:#fff;border:1px solid #cfd9d0;border-radius:8px;min-height:46px;padding:12px 13px;width:100%;color:var(--ink);font-size:14px}
.input::placeholder{color:#829088}
.field small{font-size:10px;color:var(--muted)}
fieldset{border:0;padding:0;margin:0 0 20px;min-width:0}
legend{font-size:14px;font-weight:650;line-height:1.5;margin-bottom:13px}
.check-label{display:flex;align-items:flex-start;gap:10px;font-size:11px;line-height:1.6;color:var(--muted);margin-top:14px;cursor:pointer}
.check-label input{accent-color:var(--green);width:16px;height:16px;flex:none;margin-top:3px}
.check-label a{color:var(--green);text-decoration:underline}
.quote-value{text-align:center;padding:29px;background:#ecf5e9;border-radius:16px;margin-bottom:23px}
.quote-value .amount{font-size:63px;font-weight:720;letter-spacing:-.065em;color:var(--green);line-height:1.15;margin:8px 0}
.quote-value .eyebrow{font-size:9px;margin-bottom:8px}
.quote-value p{font-size:11px;margin:7px 0 0}
.quote-value strong{font-size:15px;font-weight:600}
.quote-benefits{display:grid;gap:13px;margin:21px 0;font-size:12px}
.quote-benefits span{display:flex;gap:9px;align-items:center;color:var(--muted)}
.quote-benefits .icon{color:var(--green);height:17px;width:17px}
.donation-box{padding:21px;border:1px solid #c5d8bf;background:#f1f6ec;border-radius:12px;margin:20px 0}
.donation-box h3{font-size:16px;margin-bottom:10px}
.donation-box p{font-size:11px;margin-bottom:13px}
.donation-options{display:flex;gap:7px;flex-wrap:wrap}
.donation-options label{position:relative;font-size:12px;padding:10px 12px;min-height:40px;border:1px solid #c9d9c2;border-radius:7px;cursor:pointer;background:white}
.donation-options label:has(input:checked){background:var(--green);border-color:var(--green);color:white}
.donation-options input{position:absolute;opacity:0;inset:0;width:100%;height:100%;margin:0;cursor:pointer}
.donation-options label:has(input:focus-visible){outline:3px solid #75ad83;outline-offset:3px}
.breakdown{font-size:12px;margin-top:18px;display:grid;gap:9px}
.breakdown>div{display:flex;justify-content:space-between;gap:15px}
.breakdown .total{border-top:1px solid #d1ddc8;padding-top:12px;font-weight:700}
.confirmation-icon{width:65px;height:65px;border-radius:50%;background:#e1f2da;color:var(--green);display:flex;align-items:center;justify-content:center;margin:7px 0 25px}
.confirmation-icon .icon{width:31px;height:31px}
.reference{padding:18px;border:1px solid #b5cab1;border-radius:10px;font-size:20px;letter-spacing:.08em;background:#f5f8f1;margin:20px 0}
.confirmation-steps{margin:20px 0;padding-left:20px;font-size:13px;color:var(--muted);line-height:1.9}
.honeypot{position:absolute;left:-10000px;width:1px;height:1px;overflow:hidden}
.quote-error{margin-bottom:18px}
.review-list{display:grid;gap:12px;margin:20px 0;font-size:13px}
.review-list div{display:flex;justify-content:space-between;gap:20px;padding-bottom:11px;border-bottom:1px solid var(--line)}
.review-list span{color:var(--muted)}
.review-list strong{text-align:right}
.embed-body{background:#fff}
.embed-header{display:flex;justify-content:space-between;align-items:center;gap:12px;padding:20px 24px;border-bottom:1px solid var(--line)}
.embed-header .brand{font-size:24px}
.embed-partner{font-size:10px;color:var(--green);text-align:right;line-height:1.5}
.embed-body .quote-section{padding:20px 10px;min-height:500px}
.embed-body .quote-layout{display:block;max-width:680px}
.embed-body .quote-panel{padding:26px;min-height:400px}
.embed-body .quote-summary{display:none}
.embed-body .container{width:100%}
.embed-body .preview-bar{padding-inline:18px}
.embed-body .quote-panel h1{font-size:27px}
.embed-body .quote-section>.container{padding:0}
.embed-footer{padding:12px 24px 22px;font-size:10px;color:var(--muted);line-height:1.6;text-align:center}
.embed-footer a{text-decoration:underline}
.widget-demo{border:1px solid var(--line);border-radius:18px;overflow:hidden;background:white;max-width:880px;margin-inline:auto;transition:max-width .2s}
.widget-demo.mobile{max-width:390px}
.widget-frame{border:0;width:100%;min-height:700px;display:block}
.code-block{background:#132c27;color:#dfe9d9;padding:22px;border-radius:12px;overflow-x:auto;font-size:12px;line-height:1.7;text-align:left;white-space:pre-wrap;word-break:break-word}
.timeline{list-style:none;padding:0;margin:25px 0}
.timeline li{position:relative;display:flex;gap:15px;padding-bottom:25px}
.timeline li:before{content:'';position:absolute;left:15px;top:28px;bottom:0;width:1px;background:#d7e2d4}
.timeline li:last-child:before{display:none}
.timeline .step-dot{width:31px;height:31px;border-radius:50%;background:#e6eae3;display:flex;align-items:center;justify-content:center;flex:none;color:#869980;font-size:11px}
.timeline .complete .step-dot{background:var(--green);color:#fff}
.timeline strong{font-size:13px;display:block;margin:4px 0}
.timeline p{font-size:11px;margin:0}
.cookie-banner{position:fixed;bottom:20px;left:20px;z-index:90;border:1px solid #cdd9ce;border-radius:15px;padding:20px 22px;background:#fff;box-shadow:0 10px 50px #08261420;max-width:440px;width:calc(100% - 40px)}
.cookie-banner h2{font-size:17px;letter-spacing:-.02em;margin:0 0 9px}
.cookie-banner p{font-size:11px;line-height:1.6;margin:0 0 15px}
.cookie-banner .button-row{gap:8px}
.cookie-banner .btn{min-height:39px;padding:10px 12px;font-size:11px;flex:1}
.cookie-banner .cookie-settings-button{border:0;background:none;font-size:10px;color:var(--muted);padding:9px 0 0;text-decoration:underline;min-height:30px}
.cookie-details{border-top:1px solid var(--line);margin-top:12px;padding-top:2px}
.cookie-banner label{font-size:12px;display:flex;align-items:center;justify-content:space-between;gap:15px;margin:15px 0}
.cookie-banner input{accent-color:var(--green);width:17px;height:17px}
.cookie-banner .notice{font-size:10px;padding:10px}
.toast{position:fixed;bottom:25px;right:25px;background:var(--ink);color:#fff;font-size:12px;border-radius:10px;padding:15px 22px;z-index:95;box-shadow:var(--shadow)}
.loading-state{padding:30px;text-align:center;font-size:14px;color:var(--muted)}
.sr-only{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap}

@media(min-width:1500px){:root{--wrap:1240px}
.hero-grid{gap:75px}
.hero{padding-block:70px}
}

@media(max-width:1100px){.main-nav{gap:18px}
.nav-utils{gap:10px;padding-left:12px}
.hero-grid{gap:25px}
.hero-art{scale:.92;transform-origin:center}
.hero-proof{gap:13px}
.category-grid{gap:10px}
.model-hero{gap:40px;grid-template-columns:1fr 350px}
.split{gap:45px}
.quote-layout{grid-template-columns:minmax(0,1fr) 285px;gap:22px}
.quote-panel{padding:28px}
.trust-item{padding-inline:15px}
.main-nav a{font-size:12px}
}

@media(max-width:900px){.nav-utils{display:none}
.main-nav{gap:20px}
.hero-grid{grid-template-columns:1.2fr 1fr;gap:0}
.hero h1{font-size:54px}
.hero-copy>p{font-size:15px}
.hero-art{scale:.8;height:385px;margin-inline:-30px}
.hero-proof{gap:10px;flex-wrap:wrap}
.hero-proof span{font-size:10px}
.search-form .btn{padding-inline:12px;font-size:12px}
.search-form input{font-size:12px}
.trust-item span{display:none}
.trust-item strong{font-size:11px;margin:0}
.category-grid{grid-template-columns:repeat(3,1fr)}
.category-card{min-height:175px}
.section{padding-block:65px}
.models-grid{grid-template-columns:repeat(3,1fr)}
.faq-grid{gap:45px;grid-template-columns:.85fr 1.15fr}
.partner-band{padding:35px;gap:30px}
.quote-layout{grid-template-columns:1fr 245px}
.quote-summary{padding:21px}
.quote-summary .selected-device{gap:14px}
.quote-summary h3{font-size:16px}
.article-layout{gap:40px;grid-template-columns:1fr 245px}
.footer-main{gap:25px}
.model-hero{grid-template-columns:1.1fr .9fr;gap:35px}
.model-art{min-height:320px}
.model-hero h1{font-size:44px}
.guide-grid{grid-template-columns:repeat(2,1fr)}
}

@media(max-width:700px){.container{width:calc(100% - 36px)}
.preview-bar{font-size:9px;line-height:1.5}
.preview-bar .container{gap:10px}
.preview-bar .extra{display:none}
.topline .container{justify-content:center;padding-block:8px}
.topline span{font-size:10px}
.topline span:nth-child(n+2){display:none}
.header-inner{min-height:70px;gap:15px;justify-content:space-between}
.brand{font-size:26px;letter-spacing:-1.5px}
.brand small{font-size:8px}
.menu-toggle{display:flex;align-items:center;justify-content:center}
.main-nav{display:none;position:absolute;top:70px;left:0;right:0;background:#fff;border-bottom:1px solid var(--line);padding:17px 23px;box-shadow:0 9px 15px #18392e0a;flex-direction:column;align-items:stretch;gap:0}
.main-nav.open{display:flex}
.main-nav a{padding:13px 0;font-size:14px}
.hero{padding:35px 0 15px}
.hero-grid{display:flex;flex-direction:column;gap:0;align-items:stretch}
.hero h1{font-size:52px;line-height:1.035;letter-spacing:-.055em;margin-bottom:20px}
.local-pill{margin-bottom:20px;font-size:9px;padding:6px 9px}
.hero-copy>p{font-size:14px;line-height:1.7;margin-bottom:23px;max-width:400px}
.search-form{padding:5px;gap:3px}
.search-form>.icon{margin-left:8px;width:17px}
.search-form input{font-size:13px;padding-left:4px}
.search-form .btn{font-size:12px;padding-inline:12px;min-height:46px}
.search-form .btn .icon{display:none}
.search-examples{font-size:10px;gap:8px}
.hero-proof{gap:17px;margin-top:21px}
.hero-proof span{font-size:10px}
.hero-proof span:last-child{display:none}
.hero-art{height:330px;scale:.78;margin:-15px -10px -35px;align-self:center;width:400px;max-width:110vw;transform-origin:center}
.hero-disc{width:350px;height:350px}
.hero-note{right:-7px;bottom:10px}
.float-card.value{right:2px;top:15px}
.float-card.receipt{bottom:-5px;left:-3px}
.trust-strip .container{min-height:100px;grid-template-columns:1fr 1fr;gap:0}
.trust-item{padding:14px 8px!important;border-right:0;gap:9px}
.trust-item:nth-child(odd){border-right:1px solid var(--line)}
.trust-item .icon{width:18px;height:18px}
.trust-item strong{font-size:10px}
.section{padding-block:53px}
.section-sm{padding-block:35px}
.section-head{display:block;margin-bottom:25px}
.section-head .link-arrow{margin-top:15px;font-size:12px}
.section-head p{margin-top:16px;font-size:13px}
h2{font-size:31px}
h3{font-size:21px}
.eyebrow{font-size:9px;margin-bottom:13px}
.category-grid{gap:9px}
.category-card{min-height:157px;padding:17px 8px 13px;border-radius:12px}
.category-art{height:74px}
.category-card .mini-device{scale:.8}
.category-card strong{font-size:11px;margin:12px 0 2px}
.category-card small{font-size:9px}
.steps-grid{grid-template-columns:1fr;gap:12px}
.step-card{padding:24px;display:grid;grid-template-columns:45px 1fr;column-gap:17px}
.step-top{display:block;grid-row:1/3;margin:0}
.step-num{display:block;margin-bottom:20px;font-size:10px}
.step-top .icon{width:25px;height:25px}
.step-card h3{font-size:18px;margin:2px 0 9px}
.step-card p{font-size:12px;max-width:none}
.split{grid-template-columns:1fr;gap:34px}
.reason-card{min-height:320px;padding:30px}
.reason-card h2{font-size:34px}
.benefits{gap:23px}
.benefit h3{font-size:15px}
.benefit p{font-size:12px}
.models-grid{grid-template-columns:repeat(2,1fr);gap:11px}
.model-card{padding:15px;border-radius:13px}
.model-card .category-art{height:110px;margin-bottom:16px}
.model-card h3{font-size:14px;line-height:1.3}
.model-card .model-brand{font-size:9px}
.model-card .storage-options{font-size:9px;line-height:1.6;margin-bottom:12px}
.model-card .link-arrow{font-size:11px}
.partner-band{padding:27px;grid-template-columns:1fr;gap:25px;border-radius:19px}
.partner-band h2{font-size:29px}
.partner-band p{font-size:12px}
.zoo-panel{min-height:150px;padding:23px}
.zoo-panel .zoo-large{font-size:49px}
.zoo-panel .zoo-name{font-size:10px}
.zoo-panel small{font-size:8px}
.faq-grid{grid-template-columns:1fr;gap:20px}
.faq-intro p{font-size:13px}
.faq-list summary{font-size:13px;padding-block:19px}
.faq-list details p{font-size:12px}
.final-cta{padding:35px 23px}
.final-cta h2{font-size:29px}
.final-cta p{font-size:12px}
.footer-main{grid-template-columns:1fr 1fr;gap:30px 20px}
.footer-brand{grid-column:1/-1}
.footer-brand p{max-width:300px;margin-bottom:0}
.footer-col strong{font-size:12px}
.footer-col a{font-size:11px}
.footer-bottom{display:block;font-size:9px}
.footer-bottom p{font-size:9px}
.footer-bottom button{padding-left:0;margin-top:10px}
.page-hero{padding-block:29px 37px}
.page-hero h1{font-size:38px;max-width:440px}
.page-hero p{font-size:14px}
.breadcrumb{font-size:10px;gap:6px;margin-bottom:22px}
.breadcrumb li:not(:last-child):after{padding-left:5px}
.catalogue-tools{display:block}
.catalogue-tools input{max-width:none}
.catalogue-tools p{margin-top:14px;font-size:11px}
.filters{gap:7px}
.filter{font-size:11px;padding-inline:12px;min-height:39px}
.model-hero{display:flex;flex-direction:column;align-items:stretch;gap:30px}
.model-hero h1{font-size:38px}
.model-art{min-height:250px}
.model-art .phone{scale:.66}
.model-art:before{width:215px;height:215px}
.guide-grid{grid-template-columns:1fr;gap:13px}
.guide-card{padding:24px;min-height:190px}
.guide-card .eyebrow{margin-bottom:20px}
.article-layout{grid-template-columns:1fr;gap:30px}
.article-content h2{font-size:24px;margin-top:28px}
.article-content p{font-size:14px}
.article-aside{position:static}
.article-meta{font-size:10px}
.contact-grid{grid-template-columns:1fr}
.contact-card{padding:25px}
.quote-section{padding:22px 0 45px}
.quote-layout{display:flex;flex-direction:column;gap:20px}
.quote-panel{padding:23px 19px;border-radius:15px;width:100%;min-height:400px}
.quote-panel h1{font-size:27px}
.quote-panel .subtext{font-size:12px;margin-bottom:22px}
.progress{gap:6px;margin-bottom:25px}
.progress li{font-size:9px}
.quote-summary{width:100%;position:static;padding:23px}
.quote-summary .selected-device{margin-block:10px 16px}
.quote-summary .eyebrow{margin-bottom:15px}
.quote-summary .summary-help{margin-top:15px;padding-top:15px}
.quote-options{gap:9px}
.option{padding:14px;min-height:62px}
.option strong{font-size:13px}
.condition-row{padding-block:17px;gap:13px}
.condition-row strong{font-size:12px}
.condition-row small{font-size:10px}
.segmented label{min-width:45px;min-height:38px;font-size:11px}
.quote-actions{gap:10px}
.quote-actions .btn{padding-inline:15px;font-size:12px}
.quote-actions small{font-size:9px;max-width:135px}
.quote-value{padding:25px 17px}
.quote-value .amount{font-size:58px}
.field-grid{gap:15px}
.field{grid-column:1/-1}
.field label{font-size:11px}
.input{font-size:16px;padding:12px}
.quote-options .option input{width:16px;height:16px}
.embed-body .quote-panel{padding:22px 16px;border:0}
.embed-body .quote-section{padding:10px 0}
.embed-header{padding:18px}
.embed-header .brand{font-size:23px}
.embed-partner{font-size:9px}
.embed-body .preview-bar{font-size:9px}
.embed-footer{padding-inline:18px}
.embed-body .quote-panel h1{font-size:25px}
.cookie-banner{bottom:10px;left:10px;width:calc(100% - 20px);max-width:none;padding:17px}
.cookie-banner h2{font-size:15px}
.cookie-banner p{font-size:10px}
.cookie-banner .btn{font-size:10px}
.cookie-banner .button-row{gap:7px}
.toast{bottom:15px;right:15px;left:15px;font-size:11px}
.review-list{font-size:12px}
}

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

@media print{.site-header,.site-footer,.preview-bar,.cookie-banner,.hero-art,.btn{display:none}
.container{width:100%}
.section{padding-block:20px}
}


.mobile-nav-item{display:none}
@media(max-width:700px){.main-nav .mobile-nav-item{display:block}
}


/* -------------------------------------------------------------------------
   Buyaphone.ie 1.1: the approved mint / white / deep-green visual direction.
   Existing form, validation, consent and accessibility styles are retained.
   ------------------------------------------------------------------------- */
:root {
  --ink:#071e2b; --muted:#465660; --green:#007d43; --green-dark:#006737;
  --lime:#dff3e7; --mint:#edf8f1; --paper:#fff; --line:#e2e9e6;
  --radius:16px; --wrap:1200px;
  --shadow:0 10px 32px rgba(10,40,28,.06);
  font-family:Arial,Helvetica,ui-sans-serif,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;
}
html { scroll-behavior:smooth; scroll-padding-top:30px; }
body { background:#fff; }
p { color:var(--muted); line-height:1.65; }
h1,h2,h3 { color:var(--ink); letter-spacing:-.035em; }
h1 { font-weight:750; }
h2 { font-size:34px; font-weight:700; }
h3 { font-weight:700; }
.btn { border-radius:8px; min-height:50px; padding:14px 24px; font-size:15px; font-weight:700; box-shadow:none; }
.btn:not(.secondary):not(.text):hover { background:#006738; box-shadow:0 5px 18px rgba(0,103,56,.15); }
.btn.secondary { border-color:#bccbc3; }
.btn:active { transform:translateY(1px); }
.link-arrow { font-size:14px; gap:7px; }
.eyebrow { letter-spacing:.11em; font-size:10px; }
.preview-bar { background:#fff9e9; color:#685321; padding:7px 0; font-size:10px; }
.topline { background:#173e33; color:#fff; }
.topline .container { padding-block:13px; align-items:center; gap:24px; }
.topline span { font-size:12px; gap:9px; }
.topline .icon { color:#fff; width:17px; height:17px; }
.topline .review-badge .icon { fill:#ffc748; stroke:#ffc748; }
.topline .review-badge { color:#fff; gap:8px; white-space:nowrap; }
.topline .review-badge span { gap:4px; }
.topline .review-badge small { font-size:11px; }
.irish-flag { width:20px; height:14px; flex:none; }
.site-header { background:#fff; border-bottom:1px solid #edf1ef; }
.header-inner { min-height:100px; gap:40px; }
.brand { color:var(--ink); font-size:34px; font-weight:800; letter-spacing:-1.8px; line-height:1.05; }
.brand small { font-size:9px; letter-spacing:0; color:#233640; margin-top:6px; }
.main-nav { gap:30px; margin-inline:auto; }
.main-nav a { font-size:13px; color:var(--ink); font-weight:600; position:relative; white-space:nowrap; }
.main-nav a.nav-current { color:var(--green); }
.main-nav a.nav-current:after { content:''; height:2px; background:var(--green); position:absolute; bottom:3px; left:0; right:0; }
.nav-utils { padding:0; border:0; }
.shop-link { display:flex; align-items:center; gap:10px; padding:12px 17px; border:1px solid #47645c; border-radius:5px; font-weight:600; font-size:12px; white-space:nowrap; }
.shop-link .icon { width:15px; height:15px; }
.shop-link:hover { background:var(--mint); }

/* Search-first hero. The artwork is isolated from the actual HTML content. */
.hero { background:linear-gradient(90deg,#e9f6ee 0%,#e9f6ee 55%,#f1f1f0 55%,#f1f1f0 100%); padding:0; overflow:visible; }
.hero-grid { display:grid; grid-template-columns:58% 42%; gap:0; align-items:stretch; }
.hero-copy { padding:45px 42px 0 0; position:relative; z-index:5; }
.hero h1 { font-size:58px; line-height:1.04; margin:0 0 17px; letter-spacing:-1.9px; font-weight:750; }
.hero-copy>.hero-subtitle { font-size:20px; line-height:1.5; color:var(--ink); margin:0 0 26px; max-width:none; }
.hero .search-box { max-width:100%; }
.search-form { min-height:61px; padding:4px; border:1px solid #e4eae7; border-radius:11px; box-shadow:0 7px 20px rgba(30,63,43,.045); }
.search-form input { min-width:0; height:49px; font-size:15px; color:var(--ink); padding-left:6px; }
.search-form input::placeholder { color:#727c86; }
.search-form>.icon { width:21px; height:21px; margin-left:12px; color:#82929c; }
.search-form .btn { min-height:52px; font-size:14px; padding:14px 22px; border-radius:8px; flex:none; }
.search-examples { font-size:10px; gap:9px; margin:10px 0 0; color:#4c6960; line-height:1.4; }
.search-examples a { color:#4c6960; text-decoration:underline; text-underline-offset:2px; }
.search-results { z-index:65; margin-top:6px; border-color:#b4cdbf; box-shadow:0 14px 30px rgba(17,49,34,.12); }
.search-results a { font-size:14px; padding:13px 17px; }
.hero-proof { display:grid; grid-template-columns:1.1fr 1.07fr 1fr; gap:19px; margin:30px 0 24px; align-items:center; }
.hero-proof>span { display:flex; gap:12px; align-items:center; color:var(--ink); }
.hero-proof>span>span { font-size:12px; line-height:1.6; font-weight:600; }
.hero-proof .icon { height:30px; width:30px; color:var(--green); }
.hero-reviews { border-top:1px solid #dceae1; padding:22px 0; display:flex; align-items:center; gap:10px; flex-wrap:wrap; min-height:77px; }
.review-badge { display:inline-flex; align-items:center; gap:10px; color:var(--ink); }
.review-badge .icon { width:26px; height:26px; fill:var(--ink); stroke:var(--ink); stroke-width:1; }
.review-badge span { font-size:13px; }
.review-badge strong { font-size:14px; }
.hero-reviews>.review-count { font-size:11px; color:#31483f; }
.hero-reviews>a:last-child { margin-left:auto; display:inline-flex; align-items:center; gap:5px; font-size:11px; color:var(--green); text-decoration:underline; text-underline-offset:3px; }
.hero-reviews>a:last-child .icon { width:13px; height:13px; }
.hero-art { margin:0; scale:1; width:auto; max-width:none; align-self:stretch; height:auto; min-height:490px; position:relative; overflow:hidden; background:radial-gradient(ellipse at 25% 25%,#e9e9e7 0%,#f1f1f0 75%); }
.hero-handset { position:absolute; width:auto; height:94%; max-width:73%; object-fit:contain; object-position:left bottom; bottom:0; left:-1px; }
.hero-lettering { position:absolute; width:36%; height:auto; top:19%; right:1%; mix-blend-mode:multiply; }
.reuse-mark { position:absolute; right:5%; bottom:15%; color:var(--green); display:flex; flex-direction:column; gap:12px; }
.reuse-mark .icon { width:43px; height:43px; stroke-width:1.5; }
.reuse-mark span { color:var(--ink); font-size:10px; line-height:1.65; font-weight:700; }

/* Unboxed category photography, as in the approved reference. */
.category-strip { padding:34px 0 24px; }
.category-grid { grid-template-columns:repeat(6,minmax(0,1fr)); gap:24px; }
.category-card { border:0; border-radius:9px; min-height:150px; padding:0 8px 12px; background:#fff; }
.category-card:hover { border-color:transparent; transform:translateY(-4px); background:#f9fcfa; }
.category-art { height:122px; }
.device-thumb { display:block; object-fit:contain; object-position:center; width:auto; max-width:120px; height:110px; mix-blend-mode:multiply; }
.category-card strong { display:block; font-size:13px; margin:10px 0 5px; line-height:1.35; }
.category-arrow { color:var(--green); }
.category-arrow .icon { width:18px; height:18px; }
.other-devices { color:var(--green); position:relative; gap:0; }
.other-devices>.icon:first-child { height:85px; width:64px; stroke-width:1.15; transform:rotate(-7deg); }
.other-devices>.icon:last-child { width:43px; height:43px; margin-left:-18px; margin-top:25px; background:white; border-radius:50%; stroke-width:1.3; }
.mini-device.samsung { height:99px; width:51px; border:2px solid #5b6264; background:linear-gradient(120deg,#8f9592,#5b6360); border-radius:8px; box-shadow:3px 1px 1px #aab1ad; transform:rotate(0deg); }
.mini-device.samsung:before { width:10px; height:10px; top:7px; left:5px; background:radial-gradient(circle,#53616f 1px,#0b1821 2px,#1e252c 4px,#8a9698 5px); box-shadow:0 14px 0 #1b2329,0 28px 0 #1b2329; }

/* Four steps, with inspection and payment deliberately separate. */
.process-section { padding:21px 0 45px; }
.center-heading { text-align:center; margin-bottom:20px; }
.center-heading h2 { font-size:34px; margin-bottom:8px; }
.center-heading p { font-size:15px; color:#2d424c; margin:0; }
.steps-grid { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:34px; }
.process-step { border:0; box-shadow:none; padding:17px 15px 12px; text-align:center; display:block; position:relative; border-radius:0; }
.process-step:not(:last-child):after { content:'→'; position:absolute; right:-26px; top:82px; font-size:36px; color:#b4bfc0; font-weight:300; }
.process-step .step-top { position:relative; margin:0 auto 17px; height:80px; width:132px; display:flex; align-items:flex-end; justify-content:center; }
.process-step .step-num { position:absolute; top:0; left:4px; margin:0; width:32px; height:32px; border-radius:50%; background:linear-gradient(135deg,#31b874,#008145); color:white; display:flex; align-items:center; justify-content:center; font-size:15px; font-weight:700; }
.process-step .step-top>.icon { color:var(--ink); width:58px; height:58px; stroke-width:1.75; }
.process-step h3 { font-size:20px; margin:0 0 10px; letter-spacing:-.025em; }
.process-step p { font-size:13px; line-height:1.55; color:#283f49; margin:0 auto; max-width:223px; }

/* A compact campaign banner, not an implication that every direct sale donates. */
.partnership-section { background:#f3f7f8; overflow:hidden; }
.partnership-inner { display:grid; grid-template-columns:230px 1fr 305px; align-items:center; min-height:215px; gap:25px; }
.partnership-brand { align-self:center; padding:30px 0; }
.partnership-brand>strong { display:block; font-size:13px; margin-bottom:17px; }
.zoo-wordmark { display:inline-flex; flex-direction:column; text-align:center; }
.zoo-wordmark>span { font-size:13px; color:#293e33; letter-spacing:2px; }
.zoo-wordmark>b { font-size:62px; line-height:.94; color:#129546; letter-spacing:-5px; font-weight:900; }
.partnership-copy { padding:26px 0; }
.partnership-copy h2 { font-size:23px; margin-bottom:12px; line-height:1.17; }
.partnership-copy p { font-size:13px; margin-bottom:14px; line-height:1.55; color:#2c414b; }
.partnership-copy .link-arrow { font-size:13px; text-decoration:underline; text-underline-offset:3px; }
.partnership-art { align-self:stretch; position:relative; min-height:215px; }
.gorilla { height:94%; width:auto; max-width:81%; object-fit:contain; object-position:bottom; position:absolute; bottom:-1px; left:0; mix-blend-mode:multiply; }
.zoo-lettering { width:83px; height:auto; position:absolute; right:-7px; top:43px; mix-blend-mode:multiply; }

/* Attributed excerpts, not fictional testimonials. */
.reviews-section { padding-block:36px 27px; }
.reviews-section .section-head { align-items:center; margin-bottom:20px; }
.reviews-section h2 { font-size:24px; }
.reviews-section .section-head>.link-arrow { font-size:12px; }
.reviews-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:22px; }
.review-card { border-radius:9px; background:#f7f9fa; padding:21px 86px 21px 21px; position:relative; overflow:hidden; min-height:196px; }
.rating-stars { display:flex; gap:3px; margin-bottom:15px; }
.rating-stars>span { width:19px; height:19px; font-size:16px; background:#008c62; color:#fff; display:flex; align-items:center; justify-content:center; line-height:1; }
.review-card blockquote { font-size:15px; line-height:1.5; color:var(--ink); margin:0 0 16px; min-height:45px; }
.review-byline { display:flex; flex-direction:column; gap:5px; font-size:11px; }
.review-byline>strong { font-size:11px; font-weight:600; }
.review-byline>span { color:#596772; font-size:10px; }
.review-source { color:var(--green); display:inline-flex; gap:5px; align-items:center; font-size:10px; margin-top:12px; text-decoration:underline; text-underline-offset:3px; }
.review-source .icon { width:12px; height:12px; }
.review-device { position:absolute; right:13px; bottom:25px; }
.review-device .device-thumb { width:65px; height:89px; }
.review-snapshot-note { color:#67726f; font-size:10px; margin:13px 0 0; }
.review-snapshot-note a { text-decoration:underline; text-underline-offset:2px; }

/* Helpful SEO links without turning the homepage into a product shop. */
.home-help { display:grid; grid-template-columns:1fr 1fr; gap:80px; padding:30px 0 43px; border-top:1px solid #edf1ef; }
.home-help h2 { font-size:25px; margin-bottom:20px; }
.home-help .faq-list summary { font-size:13px; padding:14px 1px; }
.home-help .faq-list details p { font-size:12px; }
.home-help .link-arrow { margin-top:16px; font-size:12px; }
.popular-tradeins { padding-top:3px; }
.popular-tradeins>.eyebrow { margin-bottom:10px; font-size:9px; }
.popular-tradeins h2 { margin-bottom:18px; }
.popular-model-links { display:grid; grid-template-columns:1fr 1fr; gap:12px 22px; }
.popular-model-links a { font-size:12px; display:flex; align-items:center; justify-content:space-between; gap:7px; padding:6px 0; border-bottom:1px solid #e7eeea; }
.popular-model-links a:hover { color:var(--green); }
.popular-model-links .icon { width:14px; height:14px; color:var(--green); }
.popular-tradeins p { font-size:12px; margin:20px 0 0; }
.closing-section { background:#123e30; color:white; position:relative; overflow:hidden; }
.closing-section:before,.closing-section:after { content:''; position:absolute; top:0; bottom:0; width:32%; background-image:url('/assets/images/forest-edge.webp'); background-position:bottom left; background-size:cover; opacity:.57; pointer-events:none; mask-image:linear-gradient(90deg,#000,transparent); }
.closing-section:before { left:0; }
.closing-section:after { right:0; transform:scaleX(-1); }
.final-cta { background:transparent; border-radius:0; text-align:center; padding:39px 0 27px; position:relative; z-index:1; }
.final-cta h2 { font-size:31px; color:white; margin:0 0 10px; }
.final-cta p { color:white; font-size:15px; margin:0 0 23px; }
.final-cta .btn { border:1px solid #d0ece0; background:#00854a; min-width:220px; min-height:52px; }
.closing-proof { margin-top:30px; display:flex; justify-content:center; gap:42px; }
.closing-proof>span { display:flex; align-items:center; gap:8px; font-size:11px; color:white; }
.closing-proof .icon { width:16px; height:16px; }
.site-footer { border:0; padding:37px 0 21px; }
.footer-main { padding-bottom:26px; gap:37px; }
.footer-brand .brand { font-size:29px; }
.footer-col strong { font-size:12px; }
.footer-col a { font-size:11px; margin-block:10px; color:#465851; }
.footer-main .link-arrow { font-size:11px; margin-top:7px; }
.footer-bottom { padding-top:18px; }
.footer-brand p { font-size:12px; }

/* The same visual language continues across catalogue, quote and tracking. */
.page-hero { background:linear-gradient(100deg,#edf8f1,#f7faf8); padding-block:38px 44px; }
.page-hero h1 { font-size:52px; line-height:1.06; }
.page-hero .eyebrow { font-size:10px; }
.page-hero p { color:#394e57; }
.model-art { background:#f3f8f5; border:1px solid #ddebe2; border-radius:17px; min-height:350px; }
.model-art:before { display:none; }
.model-art>.device-thumb { max-width:210px; height:268px; width:auto; }
.model-art>.mini-device { transform:scale(2.3); }
.art-label { font-size:10px; left:20px; right:20px; bottom:16px; text-align:center; }
.model-card { border-radius:13px; padding:22px; }
.model-card .category-art { background:#f6f9f7; height:140px; }
.model-card .device-thumb { height:115px; }
.model-card h3 { font-size:19px; }
.model-card .storage-options { font-size:11px; }
.trust-strip { background:#fff; }
.trust-item strong { font-size:12px; }
.quote-section { background:linear-gradient(125deg,#f0f8f3,#f8faf9); padding:42px 0 60px; min-height:680px; }
.quote-layout { gap:29px; grid-template-columns:minmax(0,1fr) 315px; max-width:1100px; }
.quote-panel { border-radius:17px; border:1px solid #dce8e0; padding:36px; background:#fff; box-shadow:0 12px 32px rgba(24,74,48,.04); }
.quote-panel h1 { font-size:33px; line-height:1.1; }
.quote-panel .subtext { font-size:14px; line-height:1.6; }
.progress { margin-bottom:28px; gap:11px; }
.progress li { font-size:11px; border-color:#e1e9e4; border-width:3px; color:#576660; line-height:1.6; }
.progress li.active,.progress li.done { border-color:var(--green); color:var(--green); }
.quote-summary { border:1px solid #dce8e0; border-radius:17px; background:#fff; padding:25px; box-shadow:0 8px 28px rgba(24,74,48,.035); }
.quote-summary .eyebrow { font-size:9px; }
.quote-summary .selected-device { margin-top:24px; gap:18px; align-items:center; }
.selected-device .device-thumb { width:67px; height:94px; flex:none; }
.quote-summary .selected-device h3 { font-size:19px; line-height:1.2; }
.summary-line { font-size:12px; gap:15px; }
.summary-line>strong { text-align:right; }
.option { border-radius:10px; border-color:#d8e3dc; min-height:72px; }
.option:has(input:checked) { background:#f0faf4; border-color:#008a48; box-shadow:0 0 0 1px #008a48; }
.option strong { font-size:14px; }
.quote-value { background:#edf8f1; border:1px solid #d4e9dc; border-radius:13px; padding:27px; }
.quote-value .amount { letter-spacing:-2px; font-weight:700; font-size:64px; }
.quote-value strong { font-size:16px; }
.quote-benefits { font-size:13px; }
.quote-actions { border-top:1px solid #edf1ee; padding-top:22px; margin-top:25px; }
.quote-actions small { font-size:11px; max-width:215px; }
.donation-box { background:#eff8f2; border-color:#cce4d4; border-radius:11px; }
.donation-box h3 { font-size:18px; }
.donation-box p { font-size:12px; }
.donation-options label { font-size:12px; min-height:42px; }
.reference { border-color:#a8cbbb; background:#f2f9f5; letter-spacing:.06em; }
.timeline strong { color:var(--ink); }
.embed-body { background:#fff; }
.embed-header { border-bottom:2px solid #d4e9dc; padding:20px 25px; background:#f7fbf8; }
.embed-header .brand { font-size:27px; }
.embed-header .brand small { font-size:8px; }
.embed-partner { font-size:11px; line-height:1.6; color:#235f42; }
.embed-body .quote-section { padding:18px; background:#fff; }
.embed-body .quote-panel { box-shadow:none; border-color:#e4ece7; padding:27px; }
.embed-footer { font-size:10px; }
.cookie-banner { border-color:#c4d9cd; border-radius:12px; box-shadow:0 10px 40px #16332626; }
.cookie-banner .btn { box-shadow:none; }
.mobile-quote-bar { display:none; }

@media (min-width:1500px) {
  :root { --wrap:1240px; }
  .hero { padding:0; }
  .hero-grid { gap:0; }
  .hero-copy { padding-top:50px; }
  .hero-art { min-height:506px; }
}
@media (max-width:1200px) and (min-width:901px) {
  .header-inner { gap:24px; min-height:90px; }
  .main-nav { gap:20px; }
  .brand { font-size:30px; }
  .main-nav a { font-size:12px; }
  .hero h1 { font-size:52px; }
  .hero-copy { padding-right:30px; padding-top:36px; }
  .hero-copy>.hero-subtitle { font-size:18px; }
  .hero-art { min-height:456px; }
  .hero-proof { gap:12px; }
  .hero-proof>span { gap:9px; }
  .hero-proof>span>span { font-size:11px; }
  .hero-proof .icon { width:27px; height:27px; }
  .hero-reviews { gap:8px; }
  .hero-reviews .review-count { display:none; }
  .partnership-inner { grid-template-columns:200px 1fr 240px; gap:25px; }
  .zoo-lettering { width:66px; right:0; }
}
@media (max-width:900px) and (min-width:701px) {
  .container { width:calc(100% - 44px); }
  .topline .container { gap:14px; }
  .topline .container>span,.topline .review-badge span { font-size:10px; }
  .topline .review-badge small { display:none; }
  .brand { font-size:27px; }
  .main-nav { gap:20px; }
  .header-inner { min-height:90px; gap:25px; }
  .main-nav a { font-size:12px; }
  .hero-grid { grid-template-columns:58% 42%; gap:0; }
  .hero-copy { padding:32px 24px 0 0; }
  .hero h1 { font-size:45px; }
  .hero-copy>.hero-subtitle { font-size:16px; margin-bottom:20px; }
  .hero-art { scale:1; height:auto; margin:0; min-height:447px; }
  .hero-lettering { top:15%; width:40%; right:0; }
  .hero-handset { height:88%; max-width:78%; }
  .reuse-mark { right:4%; bottom:20%; }
  .reuse-mark span { font-size:8px; }
  .reuse-mark .icon { width:30px; height:30px; }
  .search-form { padding:4px; }
  .search-form .btn { font-size:12px; padding-inline:12px; }
  .search-form .btn .icon { display:none; }
  .search-form input { font-size:13px; }
  .search-examples { font-size:9px; gap:6px; }
  .hero-proof { gap:9px; margin:25px 0 20px; }
  .hero-proof>span { gap:6px; }
  .hero-proof>span>span { font-size:9px; }
  .hero-proof .icon { width:23px; height:23px; }
  .hero-reviews { gap:7px; }
  .hero-reviews .review-badge span { font-size:11px; }
  .hero-reviews .review-count { display:none; }
  .hero-reviews>a:last-child { font-size:10px; }
  .category-grid { grid-template-columns:repeat(6,minmax(0,1fr)); gap:10px; }
  .category-card { min-height:152px; }
  .category-card strong { font-size:11px; }
  .device-thumb { height:91px; max-width:96px; }
  .category-art { height:103px; }
  .steps-grid { gap:20px; }
  .process-step { padding-inline:8px; }
  .process-step h3 { font-size:18px; }
  .process-step p { font-size:12px; }
  .process-step:not(:last-child):after { right:-20px; font-size:29px; }
  .partnership-inner { grid-template-columns:155px 1fr 190px; gap:20px; min-height:210px; }
  .partnership-brand>strong { font-size:11px; }
  .partnership-copy h2 { font-size:19px; }
  .partnership-copy p { font-size:12px; }
  .partnership-art { min-height:210px; }
  .gorilla { max-width:95%; height:85%; }
  .zoo-lettering { display:none; }
  .reviews-grid { gap:13px; }
  .review-card { padding:18px 50px 18px 16px; }
  .review-card blockquote { font-size:13px; min-height:60px; }
  .review-device { right:6px; bottom:27px; }
  .review-device .device-thumb { width:45px; height:74px; }
  .home-help { gap:35px; }
  .closing-proof { gap:25px; }
  .closing-proof>span { font-size:10px; }
  .quote-layout { grid-template-columns:minmax(0,1fr) 245px; gap:20px; }
  .quote-panel { padding:25px; }
  .quote-summary { padding:20px; }
}
@media (max-width:700px) {
  .container { width:calc(100% - 36px); }
  .preview-bar { padding:6px 0; font-size:9px; }
  .preview-bar a { font-size:8px; }
  .topline .container { padding-block:9px; justify-content:space-between; gap:7px; }
  .topline .container>span { font-size:9px; }
  .topline .container>span:nth-child(n+2) { display:none; }
  .topline .container>.review-badge { display:flex; }
  .topline .review-badge .icon { width:14px; height:14px; }
  .topline .review-badge span { display:inline; font-size:9px; }
  .topline .review-badge strong { font-size:10px; }
  .topline .review-badge small { display:none; }
  .topline .irish-flag { width:16px; height:12px; }
  .header-inner { min-height:78px; gap:20px; }
  .brand { font-size:28px; letter-spacing:-1.6px; }
  .brand small { font-size:8px; }
  .main-nav { top:78px; gap:0; }
  .main-nav a { font-size:14px; padding-block:14px; }
  .main-nav a.nav-current:after { right:auto; width:38px; bottom:5px; }
  .menu-toggle { background:#fff; border-color:#d6e2da; border-radius:7px; }
  .hero { padding:0; background:#eaf6ee; overflow:visible; }
  .hero-grid { display:flex; flex-direction:column; gap:0; }
  .hero-copy { padding:32px 0 0; }
  .hero h1 { font-size:47px; letter-spacing:-1.7px; line-height:1.025; margin-bottom:15px; }
  .hero-copy>.hero-subtitle { font-size:16px; line-height:1.5; margin-bottom:22px; max-width:320px; }
  .search-form { min-height:60px; padding:4px; gap:3px; }
  .search-form input { font-size:16px; height:48px; padding-left:3px; }
  .search-form>.icon { margin-left:7px; width:17px; height:17px; }
  .search-form .btn { font-size:12px; padding:13px 12px; min-height:50px; }
  .search-form .btn .icon { display:none; }
  .search-examples { font-size:9px; gap:7px; margin-top:10px; }
  .hero-proof { display:grid; grid-template-columns:1.1fr 1fr 1fr; gap:12px; margin:24px 0 20px; }
  .hero-proof>span { display:flex; flex-direction:column; align-items:flex-start; gap:7px; }
  .hero-proof>span:last-child { display:flex; }
  .hero-proof>span>span { font-size:10px; line-height:1.6; display:block; }
  .hero-proof .icon { width:24px; height:24px; }
  .hero-reviews { min-height:68px; padding:14px 0 18px; gap:7px; flex-wrap:wrap; }
  .hero-reviews .review-badge { gap:6px; }
  .hero-reviews .review-badge .icon { width:22px; height:22px; }
  .hero-reviews .review-badge span { font-size:11px; }
  .hero-reviews .review-badge strong { font-size:12px; }
  .hero-reviews .review-count { font-size:9px; }
  .hero-reviews>a:last-child { font-size:10px; margin-left:auto; }
  .hero-art { width:calc(100% + 36px); max-width:none; min-height:0; height:265px; margin:0 -18px; scale:1; align-self:stretch; background:radial-gradient(ellipse at 30% 0%,#e6e9e5,#f0f2ef 85%); }
  .hero-handset { height:101%; max-width:none; left:8%; }
  .hero-lettering { width:31%; max-width:150px; right:9%; top:16%; }
  .reuse-mark { right:13%; bottom:13%; gap:5px; }
  .reuse-mark .icon { width:31px; height:31px; }
  .reuse-mark span { font-size:8px; }
  .category-strip { padding:25px 0 14px; }
  .category-grid { grid-template-columns:repeat(3,minmax(0,1fr)); gap:13px 12px; }
  .category-card { padding:0 4px 10px; border:0; min-height:129px; }
  .category-art { height:87px; }
  .device-thumb { height:83px; max-width:90px; }
  .category-card .mini-device { transform:scale(.8); scale:1; }
  .category-card strong { font-size:11px; margin:8px 0 3px; }
  .category-arrow .icon { width:15px; height:15px; }
  .other-devices>.icon:first-child { width:48px; height:65px; }
  .other-devices>.icon:last-child { width:31px; height:31px; }
  .process-section { padding:20px 0 31px; }
  .center-heading { margin-bottom:14px; }
  .center-heading h2 { font-size:29px; margin-bottom:8px; }
  .center-heading p { font-size:12px; }
  .steps-grid { grid-template-columns:repeat(2,minmax(0,1fr)); gap:18px 17px; }
  .process-step { padding:8px 2px; display:block; }
  .process-step .step-top { display:flex; width:100px; height:70px; margin:0 auto 13px; }
  .process-step .step-num { width:27px; height:27px; font-size:13px; left:0; top:2px; }
  .process-step .step-top>.icon { width:45px; height:45px; }
  .process-step h3 { font-size:17px; margin:0 0 8px; }
  .process-step p { font-size:11px; line-height:1.6; max-width:157px; }
  .process-step:not(:last-child):after { display:none; }
  .partnership-inner { display:grid; grid-template-columns:1fr 1fr; gap:0 16px; min-height:0; position:relative; }
  .partnership-brand { padding:25px 0 20px; align-self:start; }
  .partnership-brand>strong { font-size:10px; margin-bottom:12px; }
  .zoo-wordmark>span { font-size:11px; letter-spacing:1px; }
  .zoo-wordmark>b { font-size:52px; }
  .partnership-copy { grid-column:1/-1; padding:6px 0 28px; grid-row:2; z-index:1; }
  .partnership-copy h2 { font-size:22px; max-width:310px; margin-bottom:12px; }
  .partnership-copy p { font-size:12px; }
  .partnership-copy .link-arrow { font-size:12px; }
  .partnership-art { grid-column:2; grid-row:1; min-height:146px; height:146px; align-self:end; }
  .gorilla { height:144px; width:auto; max-width:100%; left:auto; right:0; }
  .zoo-lettering { display:none; }
  .reviews-section { padding:29px 0 24px; }
  .reviews-section .section-head { display:block; margin-bottom:19px; }
  .reviews-section h2 { font-size:23px; }
  .reviews-section .section-head>.link-arrow { margin-top:12px; font-size:11px; }
  .reviews-grid { grid-template-columns:1fr; gap:12px; }
  .review-card { min-height:167px; padding:19px 95px 18px 19px; border-radius:8px; }
  .review-card blockquote { font-size:14px; min-height:0; margin-bottom:12px; }
  .rating-stars { margin-bottom:12px; }
  .rating-stars>span { width:17px; height:17px; font-size:14px; }
  .review-device { right:24px; bottom:25px; }
  .review-device .device-thumb { width:56px; height:88px; }
  .review-byline { gap:4px; }
  .review-source { margin-top:10px; }
  .review-snapshot-note { font-size:9px; line-height:1.7; margin-top:14px; }
  .home-help { grid-template-columns:1fr; gap:29px; padding:26px 0 34px; }
  .home-help h2 { font-size:23px; margin-bottom:17px; }
  .popular-model-links { gap:9px 18px; }
  .popular-model-links a { font-size:11px; }
  .closing-section:before,.closing-section:after { width:53%; opacity:.4; }
  .final-cta { padding:33px 0 26px; }
  .final-cta h2 { font-size:26px; line-height:1.18; margin-bottom:12px; }
  .final-cta p { font-size:12px; margin-bottom:20px; }
  .final-cta .btn { font-size:14px; min-width:205px; min-height:51px; }
  .closing-proof { display:grid; grid-template-columns:1fr 1fr; gap:17px 12px; margin-top:28px; text-align:left; }
  .closing-proof>span { font-size:9px; gap:7px; }
  .closing-proof .icon { width:15px; height:15px; }
  .site-footer { padding-block:29px 27px; }
  .footer-main { gap:25px 18px; }
  .footer-brand .brand { font-size:27px; }
  .footer-brand p { margin-bottom:10px; font-size:11px; }
  .footer-main .link-arrow { margin-top:0; }
  .footer-col a { font-size:11px; padding-block:3px; }
  .footer-bottom p { font-size:9px; }
  .home-page .site-footer { padding-bottom:95px; }
  .mobile-quote-bar { display:flex; align-items:center; justify-content:space-between; gap:12px; position:fixed; bottom:0; left:0; right:0; padding:12px 18px calc(12px + env(safe-area-inset-bottom)); background:#fffffffa; border-top:1px solid #dce8e1; z-index:50; box-shadow:0 -5px 20px #2249320b; }
  .mobile-quote-bar>span { min-width:0; }
  .mobile-quote-bar strong { display:block; font-size:10px; line-height:1.45; }
  .mobile-quote-bar small { display:block; font-size:9px; color:var(--muted); margin-top:3px; }
  .mobile-quote-bar .btn { font-size:12px; padding:11px 13px; min-height:42px; }
  .mobile-quote-bar .btn .icon { width:15px; height:15px; }
  .page-hero { padding-block:28px 34px; }
  .page-hero h1 { font-size:39px; }
  .page-hero p { font-size:14px; }
  .model-art { min-height:253px; }
  .model-art>.device-thumb { height:198px; max-width:165px; }
  .model-art>.mini-device { transform:scale(1.7); }
  .art-label { font-size:9px; bottom:13px; }
  .model-card { padding:15px; }
  .model-card h3 { font-size:15px; }
  .model-card .storage-options { font-size:10px; }
  .model-card .category-art { height:115px; }
  .model-card .device-thumb { height:100px; }
  .quote-section { padding:22px 0 35px; min-height:0; }
  .quote-layout { display:flex; flex-direction:column; gap:20px; }
  .quote-panel { padding:24px 18px; min-height:400px; border-radius:13px; }
  .quote-panel h1 { font-size:28px; }
  .quote-panel .subtext { font-size:13px; line-height:1.6; }
  .progress { gap:6px; margin-bottom:25px; }
  .progress li { font-size:9px; line-height:1.5; }
  .quote-summary { padding:23px; border-radius:13px; }
  .quote-summary .selected-device { margin-top:10px; }
  .quote-summary .selected-device h3 { font-size:19px; }
  .summary-line { font-size:12px; }
  .option { padding:14px; min-height:68px; }
  .option strong { font-size:14px; }
  .condition-row strong { font-size:13px; line-height:1.5; }
  .condition-row small { font-size:11px; }
  .segmented label { min-height:42px; min-width:44px; font-size:12px; }
  .quote-actions { padding-top:19px; gap:11px; }
  .quote-actions .btn { min-height:48px; font-size:13px; }
  .quote-actions small { font-size:10px; max-width:137px; }
  .quote-value { padding:25px 17px; }
  .quote-value .amount { font-size:60px; }
  .quote-value p { font-size:11px; }
  .field label { font-size:12px; }
  .check-label { font-size:11px; }
  .input { font-size:16px; min-height:47px; }
  .embed-header { padding:19px 17px; }
  .embed-header .brand { font-size:25px; }
  .embed-header .brand small { font-size:7px; }
  .embed-partner { font-size:9px; }
  .embed-body .quote-section { padding:11px 0; }
  .embed-body .quote-panel { border:0; padding:22px 17px; border-radius:0; }
  .embed-body .quote-panel h1 { font-size:27px; }
  .embed-footer { font-size:9px; }
  .cookie-banner { z-index:100; bottom:10px; }
  .cookie-banner h2 { font-size:17px; }
  .cookie-banner p { font-size:11px; }
  .cookie-banner .btn { font-size:11px; min-height:43px; }
}
@media (max-width:360px) {
  .container { width:calc(100% - 28px); }
  .hero h1 { font-size:42px; }
  .hero-copy>.hero-subtitle { font-size:15px; }
  .search-form .btn { padding-inline:9px; font-size:11px; }
  .search-examples { font-size:8px; gap:6px; }
  .hero-proof { gap:6px; }
  .hero-proof>span>span { font-size:9px; }
  .hero-reviews .review-count { display:none; }
  .hero-art { margin-inline:-14px; width:calc(100% + 28px); height:240px; }
  .hero-lettering { right:5%; }
  .reuse-mark { right:8%; }
  .brand { font-size:26px; }
  .brand small { font-size:7px; }
  .partnership-copy h2 { font-size:21px; }
  .quote-panel { padding:22px 15px; }
  .progress { gap:4px; }
  .progress li { font-size:8px; }
}
@media (prefers-reduced-motion:reduce) {
  html { scroll-behavior:auto; }
  *,*:before,*:after { scroll-behavior:auto!important; transition:none!important; animation:none!important; }
}
@media print {
  .mobile-quote-bar,.closing-section,.topline { display:none!important; }
}
/* The original mobile layout hid its third proof item; keep all three now. */
.hero-proof>span>span:last-child { display:block; }
/* Visually hide the skip link until keyboard focus, including full-page captures. */
.skip-link:not(:focus) { clip-path:inset(50%); width:1px; height:1px; overflow:hidden; padding:0; white-space:nowrap; }
