:root{--navy:#132a3a;--navy-800:#0c1f2b;--navy-600:#274b60;--navy-100:#e7edf0;--gold:#e4b14c;--gold-soft:#f6e4bc;--gold-deep:#8a6412;--verified:#178a50;--verified-ink:#0f5c36;--verified-soft:#e3f2e9;--verified-bright:#43c081;--paper:#f7f8f7;--white:#fff;--ink:#14212b;--slate:#51606b;--slate-2:#7a8791;--line:#e2e7e9;--line-2:#edf1f1;--info:#2563a8;--info-soft:#e6eef7;--warning:#b26a00;--danger:#c0362c;--danger-soft:#fbe7e5;--s1:4px;--s2:8px;--s3:12px;--s4:16px;--s5:24px;--s6:32px;--s7:48px;--s8:64px;--r-sm:6px;--r-md:10px;--r-lg:16px;--r-xl:24px;--r-pill:999px;--e1:0 1px 2px rgba(19,42,58,.06),0 1px 3px rgba(19,42,58,.08);--e2:0 4px 12px rgba(19,42,58,.08),0 2px 4px rgba(19,42,58,.05);--e3:0 12px 32px rgba(19,42,58,.12),0 4px 8px rgba(19,42,58,.06);--font-display:"Schibsted Grotesk",system-ui,-apple-system,sans-serif;--font-body:"Inter",system-ui,-apple-system,sans-serif;--font-mono:"IBM Plex Mono",ui-monospace,monospace;--wrap:1240px;--nav-h:64px}*{box-sizing:border-box}body,html{padding:0;margin:0}body{font-family:var(--font-body);color:var(--ink);background:var(--paper);font-size:16px;line-height:1.6;-webkit-font-smoothing:antialiased}h1,h2,h3,h4{font-family:var(--font-display);color:var(--navy);margin:0;line-height:1.14;letter-spacing:-.02em}a{color:inherit;text-decoration:none}img{display:block;max-width:100%}.mono{font-family:var(--font-mono)}.num{font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.wrap{max-width:var(--wrap);margin:0 auto;padding:0 24px}.muted,.small{color:var(--slate)}.small{font-size:13px}.nav{position:-webkit-sticky;position:sticky;top:0;z-index:50;background:hsla(120,7%,97%,.92);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);border-bottom:1px solid var(--line)}.nav .row{display:flex;align-items:center;gap:var(--s5);height:var(--nav-h)}.wm{font-family:var(--font-display);font-weight:800;font-size:22px;letter-spacing:-.03em;color:var(--navy)}.wm .ie{color:var(--gold)}.nav .links{display:flex;gap:var(--s2);margin-left:auto;align-items:center}.nav .links a{padding:8px 12px;border-radius:var(--r-sm);font-size:14.5px;font-weight:500;color:var(--navy);transition:background .15s}.nav .links a:hover{background:var(--navy-100)}.nav .links a.cta{background:var(--navy);color:#fff}.nav .links a.cta:hover{background:var(--navy-800)}@media(max-width:720px){.nav .links{display:none}}.mnav{display:none}@media(max-width:720px){.mnav{display:flex;position:fixed;bottom:0;left:0;right:0;z-index:60;background:#fff;border-top:1px solid var(--line);justify-content:space-around;padding:8px 0 calc(8px + env(safe-area-inset-bottom))}.mnav a{display:flex;flex-direction:column;align-items:center;gap:3px;font-size:10px;color:var(--slate);font-weight:600}.mnav a.on{color:var(--navy)}.mnav .ic{width:22px;height:22px}body{padding-bottom:64px}}.btn{font-family:var(--font-body);font-weight:600;font-size:15px;border-radius:var(--r-md);border:1.5px solid transparent;padding:11px 20px;cursor:pointer;display:inline-flex;align-items:center;gap:8px;transition:all .15s;line-height:1}.btn:focus-visible{outline:3px solid var(--gold);outline-offset:2px}.btn-primary{background:var(--navy);color:#fff}.btn-primary:hover{background:var(--navy-800)}.btn-secondary{background:#fff;color:var(--navy);border-color:var(--navy)}.btn-secondary:hover{background:var(--navy-100)}.btn-ghost{background:transparent;color:var(--navy)}.btn-ghost:hover{background:var(--navy-100)}.btn-verify{background:var(--verified);color:#fff}.btn-verify:hover{background:var(--verified-ink)}.btn-sm{font-size:13px;padding:8px 14px}.btn-lg{font-size:16px;padding:14px 26px}.btn:disabled{opacity:.45;cursor:not-allowed}.ber-badge{display:inline-flex;height:21px;font-family:var(--font-body);font-weight:800;font-size:11px;line-height:21px;filter:drop-shadow(0 1px 1.5px rgba(0,0,0,.3))}.ber-badge .l{background:#111;padding:0 10px 0 8px}.ber-badge .l,.ber-badge .r{color:#fff;-webkit-clip-path:polygon(0 0,100% 0,calc(100% - 7px) 50%,100% 100%,0 100%);clip-path:polygon(0 0,100% 0,calc(100% - 7px) 50%,100% 100%,0 100%)}.ber-badge .r{padding:0 11px 0 12px;margin-left:-7px}.ber-badge.lg{height:28px;font-size:15px;line-height:28px}.ber-badge.lg .l{padding:0 13px 0 11px}.ber-badge.lg .r{padding:0 15px 0 16px;margin-left:-9px}.stamp{display:inline-flex;align-items:center;gap:9px;padding:6px 13px 6px 8px;border-radius:6px;position:relative;background:linear-gradient(180deg,#fff,#faf6ec);border:1px solid #e7d8b0;box-shadow:inset 0 1px 0 hsla(0,0%,100%,.85),0 1px 1.5px rgba(19,42,58,.07)}.stamp .lab{display:flex;flex-direction:column;line-height:1.2;font-family:var(--font-mono)}.stamp .lab b{font-size:11px;font-weight:700;letter-spacing:.11em;text-transform:uppercase;color:var(--navy)}.stamp .lab .dt{font-size:10px;font-weight:500;letter-spacing:.02em;color:var(--slate-2);text-transform:none}.stamp:after{content:"";position:absolute;inset:3px;border:1px solid rgba(228,177,76,.32);border-radius:4px;pointer-events:none}.stamp.tier2{background:linear-gradient(180deg,#1c3c4e,#122a3a);border-color:#2f5064}.stamp.tier2 .lab b{color:#fff}.stamp.tier2 .lab .dt{color:#9db4c0}.rtag-b{display:inline-flex;align-items:center;gap:6px;font-family:var(--font-mono);font-size:10.5px;font-weight:600;letter-spacing:.08em;text-transform:uppercase;padding:6px 11px;border-radius:5px;color:var(--navy);background:#fff;border:1px dashed #c9b888}.rtag-b .d{width:5px;height:5px;border-radius:50%;background:var(--gold)}.rtag-b.info{border-color:#afc7e0;color:var(--info)}.rtag-b.info .d{background:var(--info)}.lcard{background:#fff;border:1px solid var(--line);border-radius:var(--r-lg);overflow:hidden;box-shadow:var(--e1);transition:box-shadow .15s,transform .15s;display:block}.lcard:hover{box-shadow:var(--e2);transform:translateY(-2px)}.lcard .ph{aspect-ratio:3/2;position:relative;background:linear-gradient(135deg,#2b4a5c,#17303d);overflow:hidden}.lcard .ph img{width:100%;height:100%;object-fit:cover}.lcard .ph:after{content:"";position:absolute;inset:0;pointer-events:none;background:radial-gradient(80px 66px at 100% 100%,rgba(6,18,26,.42),transparent 72%),radial-gradient(88px 64px at 0 100%,rgba(6,18,26,.44),transparent 72%)}.lcard .seal-sm{position:absolute;bottom:11px;right:11px;width:42px;height:42px;z-index:2;filter:drop-shadow(0 2px 4px rgba(0,0,0,.4))}.lcard .ber-ov{position:absolute;bottom:12px;left:12px;z-index:2}.lcard .fresh{position:absolute;top:10px;left:10px;z-index:2;background:rgba(12,31,43,.82);color:#fff;font-family:var(--font-mono);font-size:10px;letter-spacing:.03em;padding:4px 8px;border-radius:var(--r-pill)}.lcard .bd{padding:13px 15px 15px}.lcard .price{font-family:var(--font-body);font-weight:700;font-size:22px;color:var(--navy);font-feature-settings:"tnum";font-variant-numeric:tabular-nums;letter-spacing:-.01em}.lcard .price .per{font-size:14px;color:var(--slate);font-weight:500}.lcard .addr{font-size:13.5px;color:var(--slate);margin:2px 0 8px}.lcard .ctx{font-family:var(--font-mono);font-size:11px;color:var(--slate);margin:0 0 11px}.lcard .ctx .ppr{color:var(--slate-2);font-size:10px}.lcard .facts{display:flex;gap:14px;font-size:13px;color:var(--slate);border-top:1px solid var(--line-2);padding-top:10px}.lcard .facts b{color:var(--navy);font-weight:600}.chip-f{display:inline-flex;align-items:center;gap:7px;padding:7px 13px;border-radius:var(--r-pill);font-size:13.5px;font-weight:500;border:1.5px solid;cursor:pointer;background:#fff}.chip-inc{background:var(--verified-soft);color:var(--verified-ink);border-color:#afdcc1}.chip-exc{background:var(--danger-soft);color:var(--danger);border-color:#efc3be}.chip-opt{border-color:var(--line);color:var(--navy)}.chip-opt:hover{background:var(--navy-100)}.chip-f .x{opacity:.65;font-weight:700}.inp{width:100%;font-family:var(--font-body);font-size:15px;padding:11px 14px;border:1.5px solid var(--line);border-radius:var(--r-md);background:#fff;color:var(--ink)}.inp:focus{outline:none;border-color:var(--navy)}.field label{display:block;font-size:12px;font-weight:600;color:var(--navy);margin-bottom:6px;letter-spacing:.01em}.field{margin-bottom:var(--s4)}.tgl{display:inline-flex;align-items:center;gap:8px;cursor:pointer;font-size:14px;font-weight:600;color:var(--verified-ink)}.tgl .sw{width:38px;height:22px;border-radius:999px;background:var(--line);position:relative;transition:background .15s}.tgl .sw:after{content:"";position:absolute;top:2px;left:2px;width:18px;height:18px;border-radius:50%;background:#fff;transition:transform .15s;box-shadow:var(--e1)}.tgl.on .sw{background:var(--verified)}.tgl.on .sw:after{transform:translateX(16px)}.search-shell{display:grid;grid-template-columns:340px 1fr;grid-gap:0;gap:0;height:calc(100vh - var(--nav-h))}.filters{border-right:1px solid var(--line);background:#fff;overflow-y:auto;padding:var(--s5)}.results-pane{display:grid;grid-template-columns:1.05fr 1fr;overflow:hidden}.results-list{overflow-y:auto;padding:var(--s4);background:var(--paper)}.map-pane{position:relative;background:#e7eeef}.results-grid{display:grid;grid-template-columns:1fr 1fr;grid-gap:var(--s4);gap:var(--s4)}.results-head{display:flex;align-items:center;justify-content:space-between;margin-bottom:var(--s4);flex-wrap:wrap;gap:var(--s3)}.results-count{font-weight:700;color:var(--navy);font-size:16px}@media(max-width:1100px){.results-pane{grid-template-columns:1fr}.map-pane{display:none}.results-grid{grid-template-columns:1fr 1fr}}@media(max-width:900px){.search-shell{grid-template-columns:1fr;height:auto}.filters{border-right:0;border-bottom:1px solid var(--line)}}@media(max-width:560px){.results-grid{grid-template-columns:1fr}}.maplibregl-popup-content{border-radius:var(--r-md)!important;box-shadow:var(--e3)!important;padding:0!important;overflow:hidden;border:1px solid var(--line)}.pin{width:32px;height:32px;cursor:pointer;transform:translateY(-4px)}.pin-price{background:var(--navy);color:#fff;font-family:var(--font-body);font-weight:700;font-size:12px;padding:5px 9px;border-radius:var(--r-pill);box-shadow:var(--e2);white-space:nowrap;cursor:pointer;border:2px solid #fff;transform:translateY(-50%)}.pin-price.v{background:var(--verified)}.detail-grid{display:grid;grid-template-columns:1fr 360px;grid-gap:var(--s6);gap:var(--s6);align-items:start}@media(max-width:900px){.detail-grid{grid-template-columns:1fr}}.gallery{display:grid;grid-template-columns:2fr 1fr;grid-gap:8px;gap:8px;border-radius:var(--r-lg);overflow:hidden;position:relative}.gallery .main,.gallery .side-tile{position:relative;overflow:hidden;padding:0;border:0;margin:0;cursor:pointer;display:block;width:100%;height:100%;background:linear-gradient(135deg,#2b4a5c,#17303d)}.gallery .main{aspect-ratio:16/10}.gallery .side{display:grid;grid-template-rows:1fr 1fr;grid-gap:8px;gap:8px;min-height:0}.gallery .main img,.gallery .side-tile img{width:100%;height:100%;object-fit:cover;display:block;transition:transform .35s cubic-bezier(.2,.7,.3,1)}.gallery .main:hover img,.gallery .side-tile:hover img{transform:scale(1.04)}.gallery .main:focus-visible,.gallery .side-tile:focus-visible{outline:3px solid var(--gold);outline-offset:-3px}.gallery .seal-lg{right:16px;width:66px;height:66px;filter:drop-shadow(0 3px 8px rgba(0,0,0,.4))}.gallery .ber-ov,.gallery .seal-lg{position:absolute;bottom:16px;z-index:2;pointer-events:none}.gallery .ber-ov{left:16px}.gallery .gal-count{top:12px;right:12px;display:inline-flex;gap:6px;background:rgba(12,31,43,.82);font-size:12.5px;font-weight:600;padding:6px 11px;border-radius:var(--r-pill);pointer-events:none}.gallery .gal-count,.gallery .more-ov{position:absolute;z-index:2;align-items:center;color:#fff}.gallery .more-ov{inset:0;display:flex;flex-direction:column;justify-content:center;gap:2px;background:rgba(9,20,28,.58);transition:background .15s}.gallery .side-tile:hover .more-ov{background:rgba(9,20,28,.66)}.gallery .more-ov .more-n{font-family:var(--font-display);font-weight:800;font-size:clamp(22px,3vw,30px);line-height:1;letter-spacing:-.02em}.gallery .more-ov .more-l{font-size:12px;font-weight:500;letter-spacing:.02em;opacity:.9}@media(max-width:560px){.gallery{grid-template-columns:1fr}.gallery .side{display:none}}.lb-overlay{position:fixed;inset:0;z-index:300;background:rgba(6,13,19,.95);padding:64px 76px 116px;animation:mo-fade .16s ease}.lb-overlay,.lb-stage{display:flex;align-items:center;justify-content:center}.lb-stage{max-width:100%;max-height:100%}.lb-img{max-width:min(1120px,92vw);max-height:calc(100vh - 200px);width:auto;height:auto;object-fit:contain;border-radius:8px;box-shadow:0 20px 60px rgba(0,0,0,.5);animation:mo-fade .2s ease}.lb-close{position:fixed;top:16px;right:18px;width:42px;height:42px;border-radius:var(--r-pill);border:1px solid hsla(0,0%,100%,.22);background:hsla(0,0%,100%,.1);color:#fff;font-size:16px;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:background .15s}.lb-close:hover{background:hsla(0,0%,100%,.22)}.lb-counter{top:22px;left:24px;font-family:var(--font-mono);font-size:14px;font-weight:500;letter-spacing:.02em}.lb-counter,.lb-nav{position:fixed;color:#fff}.lb-nav{top:50%;transform:translateY(-50%);width:54px;height:54px;border-radius:var(--r-pill);border:1px solid hsla(0,0%,100%,.22);background:hsla(0,0%,100%,.1);font-size:30px;line-height:1;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:background .15s}.lb-nav:hover{background:hsla(0,0%,100%,.22)}.lb-nav.prev{left:20px}.lb-nav.next{right:20px}.lb-close:focus-visible,.lb-nav:focus-visible,.lb-thumb:focus-visible{outline:2px solid var(--gold);outline-offset:2px}.lb-thumbs{position:fixed;bottom:14px;left:0;right:0;display:flex;gap:8px;justify-content:center;overflow-x:auto;padding:8px 16px;scrollbar-width:thin}.lb-thumb{flex:0 0 auto;width:80px;height:54px;border-radius:6px;overflow:hidden;padding:0;border:2px solid transparent;background:none;cursor:pointer;opacity:.5;transition:opacity .15s,border-color .15s}.lb-thumb:hover{opacity:.85}.lb-thumb.on{opacity:1;border-color:var(--gold)}.lb-thumb img{width:100%;height:100%;object-fit:cover;display:block}@media(max-width:560px){.lb-overlay{padding:52px 12px 92px}.lb-nav{width:44px;height:44px;font-size:26px}.lb-nav.prev{left:8px}.lb-nav.next{right:8px}.lb-img{max-height:calc(100vh - 168px)}.lb-thumb{width:60px;height:42px}}.panel{background:#fff;border:1px solid var(--line);border-radius:var(--r-lg);padding:var(--s5);margin-bottom:var(--s4)}.contact-card{position:-webkit-sticky;position:sticky;top:calc(var(--nav-h) + 16px)}.factgrid{display:grid;grid-template-columns:repeat(4,1fr);grid-gap:var(--s3);gap:var(--s3);margin:var(--s4) 0}.factgrid .f{background:var(--paper);border-radius:var(--r-md);padding:12px;text-align:center}.factgrid .f .v{font-weight:700;color:var(--navy);font-size:19px}.factgrid .f .k{font-size:11px;color:var(--slate);text-transform:uppercase;letter-spacing:.04em;margin-top:2px}@media(max-width:560px){.factgrid{grid-template-columns:repeat(2,1fr)}}.mkt-row{display:flex;gap:var(--s3);flex-wrap:wrap}.mkt-stat{flex:1 1;min-width:130px;background:var(--paper);border:1px solid var(--line);border-radius:var(--r-md);padding:12px 14px}.mkt-stat .k{font-family:var(--font-mono);font-size:10.5px;text-transform:uppercase;letter-spacing:.06em;color:var(--slate-2)}.mkt-stat .v{font-weight:700;color:var(--navy);font-size:20px;font-feature-settings:"tnum";font-variant-numeric:tabular-nums;margin-top:3px}.mkt-stat .s{font-size:11px;color:var(--slate);margin-top:2px}.badge-row{gap:var(--s2);flex-wrap:wrap}.badge-row,.eyebrow{display:flex;align-items:center}.eyebrow{font-family:var(--font-mono);font-size:12px;letter-spacing:.08em;text-transform:uppercase;color:var(--gold-deep);gap:10px;margin-bottom:var(--s2)}.eyebrow:before{content:"";width:22px;height:2px;background:var(--gold)}.hero{background:linear-gradient(165deg,#17303d,#0c1f2b);color:#fff;padding:var(--s8) 0 var(--s8);position:relative;overflow:hidden}.hero h1{color:#fff;font-size:clamp(34px,5.5vw,58px);font-weight:800;letter-spacing:-.03em;line-height:1.04;max-width:16ch}.hero h1 em{font-style:normal;color:var(--verified-bright)}.hero .sub{color:#b8cad3;font-size:19px;max-width:52ch;margin-top:var(--s4)}.searchbar{margin-top:var(--s6);background:#fff;border-radius:var(--r-lg);padding:8px;display:flex;gap:8px;box-shadow:var(--e3);max-width:640px;align-items:center}.searchbar input{flex:1 1;border:0;font-size:16px;padding:12px 14px;font-family:var(--font-body);color:var(--ink);outline:none}.hero .toggles{display:flex;gap:8px;margin-top:var(--s4)}.hero .toggles button{background:hsla(0,0%,100%,.1);color:#fff;border:1px solid hsla(0,0%,100%,.2);padding:8px 16px;border-radius:var(--r-pill);font-family:var(--font-body);font-weight:600;font-size:14px;cursor:pointer}.hero .toggles button.on{background:#fff;color:var(--navy);border-color:#fff}.hero .trust{display:flex;gap:var(--s5);margin-top:var(--s7);flex-wrap:wrap}.hero .trust .t{display:flex;align-items:center;gap:10px;color:#cfdce3;font-size:14px}.hero .trust .t svg{flex:0 0 auto}.section{padding:var(--s8) 0}.cardgrid{display:grid;grid-template-columns:repeat(4,1fr);grid-gap:var(--s4);gap:var(--s4)}@media(max-width:1000px){.cardgrid{grid-template-columns:repeat(2,1fr)}}@media(max-width:560px){.cardgrid{grid-template-columns:1fr}}.footer{background:var(--navy-800);color:#9fb4bf;padding:var(--s7) 0;margin-top:var(--s8);font-size:14px}.footer a{color:#cfdce3}.footer .cols{display:flex;gap:var(--s8);flex-wrap:wrap}.chart-wrap{background:#fff;border:1px solid var(--line);border-radius:var(--r-md);padding:var(--s4)}.pill{display:inline-block;background:var(--navy-100);font-size:12px;padding:4px 10px;border-radius:var(--r-pill)}.pill,.tablink{color:var(--navy);font-weight:600}.tablink{border-bottom:2px solid transparent;padding-bottom:6px;cursor:pointer}.tablink.on{border-color:var(--gold)}.crumb{font-size:13px;color:var(--slate);margin-bottom:var(--s3)}.crumb a:hover{color:var(--navy)}.feature-list{display:grid;grid-template-columns:1fr 1fr;grid-gap:8px;gap:8px;margin-top:var(--s3)}.feature-list li{list-style:none;padding-left:22px;position:relative;font-size:14px;color:var(--slate)}.feature-list li:before{content:"";position:absolute;left:2px;top:8px;width:7px;height:7px;border-radius:2px;background:var(--gold)}.hero:before{background:url(/hero-dublin.jpg) center 30%/cover no-repeat;opacity:.22;mix-blend-mode:luminosity}.hero:after,.hero:before{content:"";position:absolute;inset:0;z-index:0}.hero:after{pointer-events:none;background:radial-gradient(120% 90% at 12% 0,rgba(228,177,76,.14),transparent 55%),linear-gradient(180deg,rgba(12,31,43,.3),rgba(12,31,43,.72))}.hero>*{position:relative;z-index:1}.info-hero{position:relative;overflow:hidden;color:#fff;background:linear-gradient(165deg,#17303d,#0c1f2b)}.info-hero:before{background:url(/header-coast.png) center 42%/cover no-repeat;opacity:.24;mix-blend-mode:luminosity}.info-hero:after,.info-hero:before{content:"";position:absolute;inset:0;z-index:0}.info-hero:after{pointer-events:none;background:radial-gradient(120% 100% at 88% 0,rgba(228,177,76,.12),transparent 55%),linear-gradient(180deg,rgba(12,31,43,.34),rgba(12,31,43,.74))}.info-hero>*{position:relative;z-index:1}.field-err{display:block;margin-top:5px;font-size:12.5px;color:var(--danger);font-weight:500}.modal-overlay{position:fixed;inset:0;z-index:200;background:rgba(9,20,28,.55);-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px);display:flex;align-items:center;justify-content:center;padding:20px;animation:mo-fade .16s ease}.modal-dialog{position:relative;background:#fff;border-radius:var(--r-lg);box-shadow:var(--e3);width:100%;max-width:520px;max-height:calc(100vh - 40px);overflow-y:auto;padding:28px 26px 24px;animation:mo-rise .2s cubic-bezier(.2,.9,.3,1.2)}.modal-x{position:absolute;top:14px;right:14px;width:34px;height:34px;border-radius:var(--r-pill);border:1px solid var(--line);background:#fff;color:var(--slate);cursor:pointer;font-size:14px;line-height:1;display:flex;align-items:center;justify-content:center;transition:background .15s,color .15s}.modal-x:hover{background:var(--navy-100);color:var(--navy)}.modal-x:focus-visible{outline:2px solid var(--navy);outline-offset:2px}.modal-sent{text-align:center;padding:14px 6px 6px}.modal-sent-ic{display:inline-flex;align-items:center;justify-content:center;width:56px;height:56px;border-radius:var(--r-pill);background:var(--verified);margin-bottom:14px;box-shadow:0 6px 18px rgba(23,138,80,.3)}@keyframes mo-fade{0%{opacity:0}to{opacity:1}}@keyframes mo-rise{0%{opacity:0;transform:translateY(12px)}to{opacity:1;transform:translateY(0)}}@media(max-width:560px){.modal-dialog{max-width:100%}}