:root{--ink:#102d3b;--navy:#092633;--blue:#14627a;--sky:#dceff4;--paper:#f7f4ec;--white:#fff;--coral:#ff5a36;--terracotta:#ff7657;--lime:#d4ef62;--muted:#526975;--line:#b9cdd2;--shadow:0 24px 70px rgba(9,38,51,.16);--radius:18px}
*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:92px}body{margin:0;background:var(--paper);color:var(--ink);font-family:"DM Sans",sans-serif;font-size:16px;line-height:1.58}body:before{content:"";position:fixed;inset:0;pointer-events:none;z-index:99;opacity:.025;background-image:url("data:image/svg+xml,%3Csvg viewBox='0 0 120 120' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.8' numOctaves='3' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)'/%3E%3C/svg%3E")}a{transition:color .2s,background .2s,border-color .2s,transform .2s}::selection{background:var(--lime);color:var(--navy)}
.topbar{height:82px;display:flex;align-items:center;justify-content:space-between;padding:0 clamp(20px,5vw,78px);border-bottom:1px solid rgba(16,45,59,.12);background:rgba(247,244,236,.9);position:sticky;top:0;z-index:10;backdrop-filter:blur(16px)}.brand{display:flex;align-items:center;color:var(--ink);text-decoration:none;font-weight:700}.brand img{display:block;width:142px;height:62px;object-fit:contain;mix-blend-mode:multiply}.topbar nav{display:flex;gap:7px;padding:5px;background:rgba(255,255,255,.65);border:1px solid rgba(16,45,59,.09);border-radius:999px}.topbar nav a,.save-link{color:var(--ink);text-decoration:none;font-size:.84rem;font-weight:700}.topbar nav a{padding:8px 12px;border-radius:999px}.topbar nav a:hover{background:var(--navy);color:#fff}.save-link{display:flex;align-items:center;gap:4px}.save-link span{background:var(--coral);color:#fff;border-radius:999px;padding:4px 9px;margin-left:3px}
.hero{min-height:690px;display:grid;grid-template-columns:1.04fr .96fr;overflow:hidden;background:var(--paper);position:relative}.hero:before{content:"GALWAY";position:absolute;left:-.04em;bottom:-.22em;font:800 clamp(7rem,17vw,16rem)/1 Fraunces,serif;color:rgba(20,98,122,.055);letter-spacing:-.07em;pointer-events:none}.hero-copy{padding:clamp(68px,8vw,118px) clamp(32px,7vw,112px);position:relative;z-index:1}.hero-kicker{display:flex;gap:7px;flex-wrap:wrap;margin:0 0 33px}.hero-kicker span{border:1px solid rgba(16,45,59,.25);border-radius:999px;padding:5px 10px;font-size:.68rem;font-weight:700;text-transform:uppercase;letter-spacing:.08em;background:rgba(255,255,255,.55)}.eyebrow{text-transform:uppercase;letter-spacing:.15em;font-size:.73rem;font-weight:800;color:var(--coral);margin:0 0 13px}.hero h1{font:800 clamp(3.6rem,6.8vw,7.1rem)/.86 Fraunces,serif;letter-spacing:-.055em;margin:0;max-width:820px}.hero h1 em{font-style:italic;color:var(--blue);font-weight:700}.dek{font-size:1.14rem;color:var(--muted);max-width:600px;margin:30px 0}.hero-actions{display:flex;gap:11px;flex-wrap:wrap}.button{display:inline-flex;align-items:center;justify-content:center;padding:14px 19px;border-radius:999px;text-decoration:none;font-weight:800;font-size:.9rem}.button.primary{background:var(--coral);color:#fff;box-shadow:0 8px 24px rgba(255,90,54,.25)}.button.primary:hover{background:var(--navy);transform:translateY(-2px)}.button.ghost{border:1px solid var(--ink);color:var(--ink);background:rgba(255,255,255,.45)}.button.ghost:hover{background:#fff}.trust{font-size:.82rem;color:var(--muted);margin-top:23px}.trust span{color:var(--coral)}
.hero-visual{position:relative;min-height:560px;margin:24px 24px 24px 0;border-radius:28px;overflow:hidden;box-shadow:var(--shadow);isolation:isolate}.hero-visual img{width:100%;height:100%;object-fit:cover;display:block;filter:saturate(.94) contrast(1.05)}.hero-visual:after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,rgba(9,38,51,.04) 35%,rgba(9,38,51,.64));z-index:0}.weather-card{position:absolute;z-index:2;left:30px;bottom:30px;width:min(330px,calc(100% - 60px));background:var(--lime);color:var(--navy);padding:21px 23px;border-radius:16px;box-shadow:var(--shadow);transform:rotate(-1.5deg)}.weather-card span,.weather-card small{display:block}.weather-card span{text-transform:uppercase;font-size:.66rem;letter-spacing:.13em;font-weight:800}.weather-card strong{display:block;font:800 1.35rem Fraunces,serif;margin:4px 0}.weather-card small{line-height:1.38}.photo-stamp{position:absolute;z-index:2;top:24px;right:24px;border:1px solid rgba(255,255,255,.7);border-radius:999px;color:#fff;padding:9px 14px;background:rgba(9,38,51,.34);backdrop-filter:blur(10px);display:flex;gap:8px;font-size:.72rem}.photo-stamp span{opacity:.8}
.alert-strip{display:grid;grid-template-columns:auto 1fr auto;gap:24px;align-items:center;background:var(--coral);color:white;padding:38px clamp(25px,7vw,120px);position:relative;overflow:hidden}.alert-strip:after{content:"!";position:absolute;right:20%;top:-80px;font:800 13rem Fraunces,serif;color:rgba(255,255,255,.08);transform:rotate(8deg)}.alert-icon{width:58px;height:58px;border-radius:16px;display:grid;place-items:center;background:var(--navy);font:800 2rem Fraunces,serif;transform:rotate(-5deg)}.alert-strip .eyebrow{margin:0;color:var(--lime)}.alert-strip h2{margin:2px 0 5px;font:800 1.8rem Fraunces,serif}.alert-strip p{margin:0;max-width:850px;color:#fff}.alert-strip a{color:white;font-weight:800;white-space:nowrap;position:relative;z-index:1}
.field-notes{padding:105px clamp(24px,7vw,120px);background:#eef6f5}.field-notes .section-heading{max-width:800px}.section-heading h2{font:800 clamp(2.6rem,4.7vw,4.7rem)/.95 Fraunces,serif;letter-spacing:-.045em;margin:0 0 18px}.section-heading>p:last-child{color:var(--muted);max-width:440px}.notes-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:14px;margin-top:40px}.notes-grid article{background:#fff;padding:28px;border:1px solid rgba(16,45,59,.1);border-radius:var(--radius);min-height:280px;box-shadow:0 8px 30px rgba(9,38,51,.04);transition:transform .2s,box-shadow .2s}.notes-grid article:nth-child(even){transform:translateY(18px)}.notes-grid article:hover{transform:translateY(-4px);box-shadow:var(--shadow)}.notes-grid article>span{display:grid;place-items:center;width:37px;height:37px;border-radius:50%;font:800 .9rem Fraunces,serif;color:var(--navy);background:var(--lime)}.notes-grid h3{font:800 1.45rem/1.12 Fraunces,serif;margin:42px 0 12px}.notes-grid p{color:var(--muted);margin:0}
.galway-gallery{padding:105px clamp(24px,7vw,120px);background:#fff}.gallery-heading{display:grid;grid-template-columns:.58fr 1.42fr;gap:30px;align-items:end;margin-bottom:38px}.gallery-heading h2{font:800 clamp(2.5rem,4.8vw,4.8rem)/.94 Fraunces,serif;letter-spacing:-.045em;margin:0;max-width:950px}.photo-grid{display:grid;grid-template-columns:1.25fr .75fr 1fr;grid-template-rows:310px 310px;gap:14px}.photo-grid figure{position:relative;margin:0;overflow:hidden;background:var(--ink);border-radius:var(--radius)}.photo-grid .photo-wide{grid-column:span 2}.photo-grid .photo-tall{grid-row:span 2}.photo-grid img{width:100%;height:100%;object-fit:cover;display:block;filter:saturate(.9);transition:transform .5s ease,filter .5s}.photo-grid figure:hover img{transform:scale(1.035);filter:saturate(1.05)}.photo-grid figcaption{position:absolute;inset:auto 0 0;padding:70px 20px 17px;color:#fff;background:linear-gradient(transparent,rgba(9,38,51,.94));display:flex;flex-direction:column}.photo-grid figcaption b{font:800 1.2rem Fraunces,serif}.photo-grid figcaption span{font-size:.82rem}.photo-grid figcaption small{font-size:.63rem;color:#d8e7ea;margin-top:5px}.photo-grid figcaption a{color:inherit}
.arrival-path{padding:105px clamp(24px,7vw,120px);background:var(--navy);color:#fff;position:relative;overflow:hidden}.arrival-path:after{content:"→";position:absolute;right:-.08em;top:-.2em;color:rgba(212,239,98,.07);font:800 28rem/1 Fraunces,serif}.arrival-path>.section-heading{max-width:850px;position:relative;z-index:1}.arrival-path .section-heading>p:last-child{color:#bdd0d6}.arrival-board{margin-top:46px;border-top:1px solid #42606d;position:relative;z-index:1}.arrival-board article{display:grid;grid-template-columns:74px 1fr;gap:22px;padding:28px 0;border-bottom:1px solid #42606d;transition:padding .2s,background .2s}.arrival-board article:hover{padding-left:15px;background:rgba(255,255,255,.025)}.arrival-board .step{font:800 1rem Fraunces,serif;color:var(--lime)}.arrival-board h3{font:800 1.55rem Fraunces,serif;margin:0 0 6px}.arrival-board p{margin:0;color:#bdd0d6;max-width:940px}.arrival-pocket{margin-top:34px;background:var(--lime);color:var(--navy);padding:26px 29px;border-radius:var(--radius);display:grid;grid-template-columns:1.3fr 1fr;gap:25px;align-items:center;position:relative;z-index:1}.arrival-pocket strong{font:800 1.3rem Fraunces,serif}.arrival-pocket p{margin:5px 0 0}.arrival-pocket .link-list{margin:0;padding:0;justify-content:flex-end}.arrival-pocket .link-list a{color:var(--navy)}
.map-section{display:grid;grid-template-columns:.88fr 1.12fr;gap:clamp(36px,6vw,90px);padding:105px clamp(24px,7vw,120px);background:var(--paper);align-items:start}.map-copy h2{font:800 clamp(2.6rem,4.7vw,4.8rem)/.95 Fraunces,serif;letter-spacing:-.045em;margin:0 0 23px}.map-copy>p{color:var(--muted);max-width:650px}.map-links{display:grid;grid-template-columns:1fr 1fr;margin:30px 0 20px;gap:8px}.map-links a{display:flex;flex-direction:column;background:#fff;color:var(--ink);text-decoration:none;padding:15px 17px;min-height:82px;border:1px solid rgba(16,45,59,.13);border-radius:12px}.map-links a:hover{border-color:var(--coral);transform:translateY(-2px)}.map-links b{font-size:.92rem}.map-links span{font-size:.77rem;color:var(--muted);margin-top:3px}.map-note{font-size:.86rem;border-left:4px solid var(--coral);padding-left:14px}.map-frame{background:var(--navy);border-radius:22px;box-shadow:var(--shadow);padding:12px}.map-frame iframe{display:block;width:100%;height:600px;border:0;border-radius:13px}.map-frame>a{display:block;color:#fff;font-weight:800;text-decoration:none;padding:14px 8px 4px}
.quick-start{padding:105px clamp(24px,8vw,130px);background:#fff}.checklist-intro{display:grid;grid-template-columns:.82fr 1.18fr;gap:clamp(38px,8vw,120px);align-items:end;margin-bottom:38px}.overall-progress{background:var(--navy);color:#fff;padding:24px 27px;border-radius:18px;box-shadow:var(--shadow)}.overall-progress .progress-row span{color:#c7d9de}.overall-progress p{margin:11px 0 0;color:#c7d9de;font-size:.86rem}.checklist-card{border:1px solid rgba(16,45,59,.12);border-radius:22px;box-shadow:var(--shadow);background:#f7fbfb;overflow:hidden}.checklist-tabs{display:grid;grid-template-columns:repeat(5,1fr);border-bottom:1px solid var(--line);background:#e8f2f3}.checklist-tab{appearance:none;border:0;border-right:1px solid var(--line);background:transparent;color:var(--muted);padding:17px 15px;text-align:left;font:700 .87rem "DM Sans";cursor:pointer;display:grid;grid-template-columns:auto 1fr auto;gap:8px;align-items:center}.checklist-tab:last-child{border-right:0}.checklist-tab span{font:800 .72rem Fraunces,serif;color:var(--coral)}.checklist-tab b{font-size:.68rem;background:rgba(16,45,59,.08);border-radius:999px;padding:3px 7px}.checklist-tab:hover{background:#fff}.checklist-tab.active{background:var(--navy);color:#fff}.checklist-tab.active span{color:var(--lime)}.checklist-tab.active b{background:rgba(255,255,255,.12)}.checklist-panel{padding:30px}.checklist-panel[hidden]{display:none}.panel-heading{display:flex;justify-content:space-between;gap:20px;align-items:end;margin-bottom:10px}.panel-heading h3{font:800 clamp(1.8rem,3vw,2.8rem)/1 Fraunces,serif;margin:0}.panel-heading .eyebrow{margin-bottom:6px}.reset-list{border:0;background:transparent;color:var(--muted);font:700 .77rem "DM Sans";text-decoration:underline;cursor:pointer;padding:8px}.progress-row{display:flex;justify-content:space-between;margin-bottom:11px}.progress-row span{font-size:.84rem;color:var(--muted)}.progress-track{height:9px;background:#d9e7e9;border-radius:9px;overflow:hidden}.progress-track span{display:block;height:100%;width:0;background:linear-gradient(90deg,var(--coral),#ff9b55);transition:width .3s}.checks{display:grid;grid-template-columns:1fr 1fr;gap:0 24px;margin-top:18px}.checks label{display:flex;gap:13px;padding:16px 8px;border-top:1px solid var(--line);cursor:pointer;border-radius:8px}.checks label:hover{background:#fff}.checks label:has(input:checked) b{text-decoration:line-through;color:var(--muted)}.checks input{width:21px;height:21px;accent-color:var(--coral);margin-top:3px;flex:0 0 auto}.checks span{display:flex;flex-direction:column}.checks small{color:var(--muted);margin-top:2px}
.guide-section{padding:105px clamp(24px,7vw,120px);background:var(--sky)}.guide-section>.section-heading{max-width:830px}.filter-row{display:flex;gap:8px;flex-wrap:wrap;margin:32px 0}.filter{border:1px solid #8eb1bb;background:rgba(255,255,255,.45);color:var(--ink);padding:10px 16px;border-radius:999px;font:700 .87rem "DM Sans";cursor:pointer}.filter:hover,.filter.active{background:var(--navy);color:white;border-color:var(--navy)}.guide-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:16px}.guide-card{position:relative;background:white;border:1px solid rgba(16,45,59,.12);border-radius:var(--radius);padding:30px;min-height:300px;display:flex;flex-direction:column;transition:transform .2s,box-shadow .2s;overflow:hidden}.guide-card:hover{transform:translateY(-5px);box-shadow:var(--shadow)}.guide-card.featured{grid-column:span 2;background:var(--navy);color:#fff}.guide-card.featured.housing-card{grid-column:1/-1;background:linear-gradient(135deg,#092633,#123f4f)}.guide-card.hidden{display:none}.guide-card.photo-card{padding:0}.guide-card.photo-card>img{width:100%;height:155px;object-fit:cover}.guide-card.photo-card>div{position:relative;padding:26px;display:flex;flex-direction:column;flex:1}.guide-card.photo-card h3{margin-top:25px}.card-num{position:absolute;top:20px;right:22px;color:#819ca7;font:800 .78rem Fraunces,serif}.icon{font-size:1.7rem;color:var(--coral);height:40px}.tag{align-self:flex-start;text-transform:uppercase;letter-spacing:.1em;font-size:.66rem;font-weight:800;border-radius:999px;padding:6px 10px}.tag.danger{background:var(--coral);color:white}.guide-card h3{font:800 1.72rem/1.08 Fraunces,serif;margin:45px 0 12px;max-width:440px}.guide-card p{color:var(--muted);margin:0}.guide-card.featured p{color:#c8dade}.guide-card details{margin-top:auto;border-top:1px solid #496572;padding-top:16px}.guide-card summary{cursor:pointer;font-weight:800}.guide-card ul{padding-left:20px;color:#e6ecef}.link-list{display:flex;gap:15px;flex-wrap:wrap;margin-top:auto;padding-top:22px}.link-list a{color:var(--blue);font-weight:800}.note{margin-top:auto!important;padding-top:20px;font-size:.83rem}.chips{display:flex;gap:6px;flex-wrap:wrap;margin-top:auto}.chips span{background:var(--sky);border-radius:999px;padding:5px 9px;font-size:.73rem;font-weight:800}.guide-card details p{margin-top:12px}.guide-card details ul{margin:12px 0 0}.guide-card:not(.featured) details{border-top:1px solid var(--line)}.guide-card:not(.featured) details ul{color:var(--muted)}.shopping-card{grid-column:span 2}.shopping-card>img{height:185px!important}.shopping-card details{margin:22px 0}.food-card{background:#fff8e8}.transport-card,.taxi-card,.grocery-card{grid-column:span 2}.transport-card{background:#f8fcfd}.app-links{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin:18px 0}.app-links a{background:var(--sky);border:1px solid var(--line);border-radius:9px;color:var(--ink);font-size:.82rem;font-weight:800;padding:10px 12px;text-decoration:none}.app-links a:hover{background:#fff}.shop-grid,.rights-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:10px;margin:20px 0}.shop-grid section,.rights-grid section{border:1px solid var(--line);border-radius:12px;background:#fff;padding:17px}.shop-grid h4,.rights-grid h4{font-family:"Fraunces",serif;font-size:1.15rem;margin:0 0 8px}.shop-grid p,.rights-grid p{font-size:.92rem;margin:0;color:var(--muted)}.housing-card details{margin-top:22px}.housing-card .rights-grid section{background:#123846;border-color:#43616d}.housing-card .rights-grid p{color:#c8dade}.housing-links{display:grid;grid-template-columns:repeat(2,1fr);gap:8px;margin-top:22px}.housing-links a{background:#fff;color:var(--ink);border-radius:9px;font-size:.82rem;font-weight:800;padding:11px 12px;text-decoration:none}.housing-links a:hover{background:var(--lime)}
.local-note{display:grid;grid-template-columns:1fr 1fr;gap:70px;padding:95px clamp(24px,8vw,130px);background:var(--coral);color:white;position:relative;overflow:hidden}.local-note:after{content:"↝";position:absolute;right:4%;bottom:-40px;font:800 12rem Fraunces,serif;color:rgba(255,255,255,.12)}.local-note h2{font:800 clamp(2.5rem,4.2vw,4.2rem)/.95 Fraunces,serif;margin:0;position:relative;z-index:1}.local-note .eyebrow{color:var(--lime)}.local-note>p{font-size:1.18rem;max-width:620px;position:relative;z-index:1}footer{padding:58px clamp(24px,7vw,120px);background:var(--navy);color:#d5e4e9;display:grid;grid-template-columns:1fr 1fr;gap:15px 50px}footer .brand img{background:#fff;border-radius:9px;padding:4px;mix-blend-mode:normal}.fineprint{grid-column:2;font-size:.78rem;color:#9fb3bb;max-width:650px}
@media(max-width:1100px){.notes-grid{grid-template-columns:1fr 1fr}.notes-grid article:nth-child(even){transform:none}.checklist-tabs{grid-template-columns:repeat(3,1fr)}.checklist-tab:nth-child(3){border-right:0}}
@media(max-width:900px){.topbar nav{display:none}.hero{grid-template-columns:1fr}.hero-copy{padding:65px 25px 50px}.hero-visual{min-height:500px;margin:0 20px 20px}.alert-strip{grid-template-columns:auto 1fr}.alert-strip>a{grid-column:2}.gallery-heading{grid-template-columns:1fr}.photo-grid{grid-template-columns:1fr 1fr;grid-template-rows:300px 300px 300px}.photo-grid .photo-wide{grid-column:span 2}.photo-grid .photo-tall{grid-row:span 2}.arrival-pocket{grid-template-columns:1fr}.arrival-pocket .link-list{justify-content:flex-start}.map-section{grid-template-columns:1fr}.map-frame iframe{height:480px}.checklist-intro{grid-template-columns:1fr;gap:26px}.checks{grid-template-columns:1fr}.guide-grid{grid-template-columns:1fr 1fr}.local-note{grid-template-columns:1fr;gap:20px}}
@media(max-width:620px){.topbar{height:68px;padding:0 15px}.brand img{width:108px;height:50px}.save-link{font-size:0}.save-link span{font-size:.78rem}.hero{min-height:auto}.hero:before{display:none}.hero-kicker{margin-bottom:25px}.hero-kicker span{font-size:.6rem}.hero h1{font-size:3.55rem}.hero-actions .button{width:100%}.hero-visual{min-height:410px;border-radius:20px}.weather-card{left:18px;bottom:18px;width:calc(100% - 36px)}.photo-stamp{top:15px;right:15px}.alert-strip{grid-template-columns:1fr;padding:32px 22px}.alert-strip>a{grid-column:1}.field-notes,.galway-gallery,.arrival-path,.map-section,.quick-start,.guide-section,.local-note{padding:74px 20px}.notes-grid{grid-template-columns:1fr}.notes-grid article{min-height:220px}.photo-grid{display:flex;overflow-x:auto;scroll-snap-type:x mandatory;gap:10px;padding-bottom:8px}.photo-grid figure,.photo-grid .photo-wide,.photo-grid .photo-tall{flex:0 0 86%;height:400px;scroll-snap-align:start}.arrival-board article{grid-template-columns:43px 1fr;gap:10px}.arrival-pocket{padding:22px}.map-links{grid-template-columns:1fr}.map-frame{padding:7px}.map-frame iframe{height:390px}.checklist-tabs{display:flex;overflow-x:auto;scroll-snap-type:x mandatory}.checklist-tab{flex:0 0 72%;scroll-snap-align:start;border-right:1px solid var(--line)!important}.checklist-panel{padding:22px 18px}.panel-heading{align-items:flex-start}.reset-list{white-space:nowrap}.overall-progress{padding:21px}.guide-grid{grid-template-columns:1fr}.guide-card.featured,.shopping-card,.transport-card,.taxi-card,.grocery-card{grid-column:auto}.guide-card{min-height:270px}.app-links,.shop-grid,.rights-grid,.housing-links{grid-template-columns:1fr}.local-note>p{font-size:1.05rem}footer{grid-template-columns:1fr;padding:46px 22px}.fineprint{grid-column:1}}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}.guide-card,.notes-grid article,.progress-track span,.photo-grid img{transition:none}}
