
:root{--navy:#102b3f;--ink:#213340;--muted:#5b6b77;--cream:#f7f4ee;--soft:#f2f6f7;--terracotta:#a9533a;--line:#d9e0e4;--white:#fff;--green:#2f6b57;--shadow:0 14px 34px rgba(16,43,63,.10)}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;font-family:Inter,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;color:var(--ink);line-height:1.58;background:#fff}a{color:inherit;text-decoration:none}button,input,select,textarea{font:inherit}.container{width:min(1120px,92%);margin:auto}.prototype{background:#081c29;color:#dce7ed;text-align:center;padding:7px 12px;font-size:13px}.topbar{background:var(--navy);color:white;text-align:center;padding:10px 14px;font-size:15px;font-weight:600}.tb-short{display:none}.header{position:sticky;top:0;z-index:50;background:#fff;border-bottom:1px solid var(--line)}.nav{min-height:72px;display:flex;align-items:center;justify-content:space-between;gap:18px}.brand{font:700 30px Georgia,serif;color:var(--navy)}.navlinks{display:flex;gap:18px;align-items:center;font-size:15px;white-space:nowrap}.nav .btn,.icon-btn{white-space:nowrap}.nav .icon-btn .lbl{display:none}.nav .icon-btn{padding:11px 13px}.navlinks{gap:14px}@media(max-width:1100px){.navlinks{display:none}}.navlinks a:hover{color:var(--terracotta)}.btn{display:inline-flex;align-items:center;justify-content:center;border-radius:999px;padding:14px 22px;font-weight:800;border:0;cursor:pointer}.primary{background:var(--terracotta);color:#fff}.secondary{border:1px solid #ccd5da;background:#fff;color:var(--navy)}.hero{padding:38px 0 56px;background:linear-gradient(180deg,#fbf9f5,#fff)}.hero-grid{display:grid;grid-template-columns:1.05fr .95fr;gap:44px;align-items:center}.eyebrow{text-transform:uppercase;letter-spacing:.11em;font-weight:800;color:var(--terracotta);font-size:13px;margin-bottom:12px}h1,h2,h3{color:var(--navy);margin-top:0}h1{font:700 clamp(42px,6vw,72px)/1.04 Georgia,serif;letter-spacing:-.025em;margin-bottom:18px}h2{font:700 clamp(32px,4.5vw,50px)/1.08 Georgia,serif;margin-bottom:12px}h3{font-size:22px;margin-bottom:8px}.lead{font-size:20px;color:#3f515e;max-width:760px}.price-strip{display:flex;flex-wrap:wrap;gap:10px 18px;font-weight:800;color:var(--navy);font-size:18px;margin:18px 0 24px}.hero-actions{display:flex;gap:12px;flex-wrap:wrap}.hero-note{margin-top:16px;color:var(--muted);font-size:16px}.hero-art{min-height:390px;border-radius:28px;position:relative;overflow:hidden;box-shadow:var(--shadow);background:linear-gradient(135deg,#d8c8b7 0 33%,#eee4d9 33% 64%,#cdb39b 64%)}.photo{position:absolute;background:#fff;border:10px solid #fff;box-shadow:0 18px 30px rgba(0,0,0,.13)}.p1{width:49%;height:55%;left:8%;top:14%;transform:rotate(-7deg);background:linear-gradient(145deg,#a6beca,#efd0ad 55%,#8b746b)}.p2{width:43%;height:49%;right:7%;bottom:9%;transform:rotate(7deg);background:linear-gradient(145deg,#7b8e7d,#e3c7a9 52%,#a17461)}.film{position:absolute;width:76%;height:54px;left:12%;bottom:28px;background:#242424;border-radius:7px;display:grid;grid-template-columns:repeat(6,1fr);gap:6px;padding:7px 10px;transform:rotate(-3deg)}.film span{background:#d9a775;border-radius:2px}.section{padding:74px 0}.alt{background:var(--cream)}.soft{background:var(--soft)}.section-head{text-align:center;max-width:770px;margin:0 auto 34px}.section-head p{font-size:18px;color:var(--muted);margin:0}.cards{display:grid;grid-template-columns:repeat(3,1fr);gap:22px}.card{border:1px solid var(--line);border-radius:22px;padding:26px;background:#fff;box-shadow:0 8px 22px rgba(16,43,63,.045)}.card p{font-size:17px;color:#4c5d69}.price{font-size:28px;font-weight:850;color:var(--terracotta);margin:18px 0 3px}.small{font-size:15px;color:var(--muted)}.kicker{font-weight:850;color:var(--terracotta);font-size:14px;text-transform:uppercase;letter-spacing:.07em}.steps{display:grid;grid-template-columns:repeat(5,1fr);gap:14px}.step{text-align:center;padding:18px 12px}.num{width:42px;height:42px;border-radius:50%;background:var(--navy);color:#fff;display:grid;place-items:center;margin:0 auto 12px;font-weight:850}.step h3{font-size:18px;margin-bottom:6px}.step p{font-size:16px;color:var(--muted)}.grid2{display:grid;grid-template-columns:1fr 1fr;gap:28px;align-items:start}.grid3{display:grid;grid-template-columns:repeat(3,1fr);gap:22px}.table-wrap{overflow:auto;border:1px solid var(--line);border-radius:18px;background:#fff}table{width:100%;border-collapse:collapse}th,td{padding:16px 18px;text-align:left;border-bottom:1px solid #e8edef;font-size:17px}th{background:#f7f9fa;color:var(--navy);font-size:15px}tr:last-child td{border-bottom:0}.calc-grid{display:grid;grid-template-columns:1fr .8fr;gap:28px;align-items:start}.calc{border:1px solid var(--line);border-radius:22px;padding:26px;background:#fff;box-shadow:var(--shadow)}.row{display:grid;grid-template-columns:1fr 150px;gap:16px;align-items:end;padding:14px 0;border-bottom:1px solid #edf0f2}.row:last-child{border-bottom:0}label{display:block;font-weight:800;color:var(--navy);margin-bottom:7px}input,select,textarea{width:100%;padding:13px 14px;border:1px solid #cfd6db;border-radius:12px;font-size:17px;background:#fff;color:var(--ink)}textarea{min-height:120px}.estimate{background:var(--navy);color:#fff;border-radius:22px;padding:28px}.estimate h3{color:#fff}.total{font-size:42px;font-weight:850;margin:7px 0}.estimate p{color:#d9e3e9;font-size:16px}.notice{border-left:4px solid var(--terracotta);background:#fff6f1;padding:16px 18px;border-radius:12px;color:#5d4b43;font-size:17px}.good{border-left-color:var(--green);background:#f1f8f5;color:#2f5247}.faq{max-width:880px;margin:auto}details{border-bottom:1px solid var(--line);padding:18px 2px}summary{font-weight:850;color:var(--navy);cursor:pointer;font-size:18px}details p{color:#4c5d69;font-size:17px}.order{max-width:900px;margin:auto}.order-card{border:1px solid var(--line);border-radius:22px;padding:26px;background:#fff;box-shadow:var(--shadow);margin-bottom:24px}.options{display:grid;grid-template-columns:repeat(3,1fr);gap:14px}.option{border:1px solid var(--line);border-radius:16px;padding:18px;background:#fff;font-weight:400}.option input{width:auto}.option strong{display:block;color:var(--navy);margin:6px 0 4px}.summary{border:1px solid var(--line);border-radius:16px;overflow:hidden}.srow{display:flex;justify-content:space-between;gap:20px;padding:14px 16px;border-bottom:1px solid #edf0f2}.srow:last-child{border-bottom:0}.srow.totalrow{font-weight:850;background:#f8fafb}.checkbox{display:flex;gap:10px;align-items:flex-start;font-weight:400;color:var(--ink)}.checkbox input{width:auto;margin-top:5px}.policy{max-width:900px}.policy h3{margin-top:28px}.cta{background:var(--navy);color:#fff;text-align:center;padding:66px 0}.cta h2{color:#fff}.cta p{color:#d8e3e9;font-size:18px}footer{background:#0b1d2a;color:#c7d1d8;padding:34px 0;font-size:15px}.footer{display:flex;justify-content:space-between;gap:22px;flex-wrap:wrap}.footer-links{display:flex;gap:18px;flex-wrap:wrap}.section-label{display:inline-block;background:#eef3f5;color:var(--navy);font-size:12px;font-weight:800;border-radius:999px;padding:6px 10px;margin-bottom:14px}.divider{height:1px;background:#e9edef;margin:30px 0}ul.ticks{padding-left:20px;font-size:17px}ul.ticks li{margin:6px 0}.band{border-radius:24px;background:var(--navy);color:#fff;padding:32px;display:flex;justify-content:space-between;gap:24px;align-items:center}.band h3{color:#fff;font-size:26px;margin-bottom:7px}.band p{color:#d8e3e9;margin:0;font-size:17px}.quick-links{display:flex;flex-wrap:wrap;gap:10px;margin-top:12px}.quick-links a{background:#fff;border:1.5px solid #bcd9c7;color:var(--navy);font-weight:800;border-radius:999px;padding:10px 16px;font-size:16px}.quick-links a:hover{border-color:#1f7a4d}.wa-help{display:flex;gap:28px;align-items:center;justify-content:space-between;background:#eef8f2;border:1px solid #cfe6d8;border-radius:22px;padding:30px}.wa-help p{font-size:18px;color:#3f515e;margin:0;max-width:640px}.wa-btn svg{flex-shrink:0;width:22px}.wa-btn{background:#1f7a4d;color:#fff;gap:10px;font-size:17px;padding:16px 24px;white-space:nowrap}.terms-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px}.term{background:#fff;border:1px solid var(--line);border-radius:18px;padding:22px 24px}.term h3{font-size:20px;margin-bottom:10px}.term ul{margin:0;padding-left:20px;font-size:17px;line-height:1.55;color:#3f515e}.term li{margin:6px 0}.term li strong{color:var(--navy)}.nav .menu-btn{display:none}.mobile-menu{display:flex;flex-direction:column;border-top:1px solid var(--line);background:#fff;padding:8px 4% 18px}.mobile-menu[hidden]{display:none}.mobile-menu a{padding:14px 4px;font-size:18px;font-weight:700;color:var(--navy);border-bottom:1px solid #eef1f3}.mobile-menu a.btn{margin-top:14px;border:0;color:#fff;justify-content:center}@media(max-width:1100px){.nav .menu-btn{display:inline-flex}}.grid4{display:grid;grid-template-columns:repeat(4,1fr);gap:20px}.nav-right{display:flex;gap:10px;align-items:center}.icon-btn{display:inline-flex;align-items:center;gap:8px;border:1.5px solid var(--navy);color:var(--navy);border-radius:999px;padding:11px 16px;font-weight:800;font-size:15px}.icon-btn svg{flex-shrink:0}.wa{border-color:#1f7a4d;color:#1f7a4d}.about{display:flex;gap:28px;align-items:center;background:#fff;border:1px solid var(--line);border-radius:22px;padding:28px}.about-photo{width:150px;height:150px;border-radius:50%;background:#e8ded2;flex-shrink:0;display:grid;place-items:center;text-align:center;font-size:13px;color:var(--muted);padding:12px}.about p{font-size:18px;color:#3f515e;margin:0 0 10px}
@media(max-width:900px){.navlinks{display:none}.terms-grid{grid-template-columns:1fr}.wa-help{flex-direction:column;align-items:flex-start}.wa-btn{width:100%}.band{flex-direction:column;align-items:flex-start}.grid4{grid-template-columns:1fr 1fr}.about{flex-direction:column;text-align:center}.hero-grid,.grid2,.calc-grid{grid-template-columns:1fr}.hero-art{order:-1;min-height:250px}.cards,.grid3{grid-template-columns:1fr}.steps{grid-template-columns:1fr 1fr}.options{grid-template-columns:1fr}}
@media(max-width:560px){.wa-btn{white-space:normal;padding:15px 16px;font-size:16px}.tb-long{display:none}.tb-short{display:inline}body{font-size:17px}.brand{font-size:26px}.hero{padding:18px 0 42px}h1{font-size:40px}.hero-art{min-height:215px}.lead,.section-head p{font-size:18px}.price-strip{display:block}.price-strip span{display:block;margin:6px 0}.hero-actions .btn{width:100%}.section{padding:54px 0}.steps{grid-template-columns:1fr}.row{grid-template-columns:1fr}.nav .btn{padding:12px 16px}.grid4{grid-template-columns:1fr}.nav .primary{display:none}.icon-btn .lbl{display:none}.icon-btn{padding:11px 13px}}

.page-h1{font:700 clamp(32px,4.5vw,50px)/1.08 Georgia,serif;letter-spacing:0;margin-bottom:12px}.navlinks a[aria-current="page"]{color:var(--terracotta);font-weight:800}.mobile-menu a[aria-current="page"]{color:var(--terracotta)}
@media(max-width:560px){.svc-home .grid4{grid-template-columns:1fr 1fr;gap:12px}.svc-home .card{padding:16px;border-radius:16px}.svc-home .card p{display:none}.svc-home .card h3{font-size:17px;margin-bottom:4px}.svc-home .kicker{font-size:11px}.svc-home .price{font-size:20px!important;margin:8px 0 2px}.svc-home .small{font-size:13px}}
#home.hero{padding-bottom:28px}.svc-home{padding-top:36px}@media(max-width:560px){#home.hero{padding-bottom:12px}.svc-home{padding-top:24px}.svc-home .section-head{margin-bottom:22px}}

/* ---- Prices page ---- */
.sr{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}
.price-top{padding-top:44px;padding-bottom:40px}
.promise-row{list-style:none;display:flex;flex-wrap:wrap;justify-content:center;gap:10px 22px;padding:0;margin:0 0 26px;font-weight:700;color:var(--navy);font-size:16px}
.promise-row li::before{content:"✓";color:var(--green);margin-right:7px;font-weight:900}
.calc2{display:grid;grid-template-columns:minmax(0,1.25fr) minmax(0,.9fr);gap:24px;align-items:start}
.calc2-inputs{background:#fff;border:1px solid var(--line);border-radius:22px;padding:26px;box-shadow:var(--shadow);display:flex;flex-direction:column;gap:22px}
.qrow{display:flex;flex-direction:column;gap:10px}
.qrow label{margin-bottom:0;font-size:18px}
.qrow-head{display:flex;justify-content:space-between;align-items:baseline;gap:10px;flex-wrap:wrap}
.qrow-pair{display:grid;grid-template-columns:1fr 1fr;gap:16px}
.qrow-pair>div{display:flex;flex-direction:column;gap:8px}
.qty{font-size:22px;font-weight:700;padding:12px 14px;border-radius:12px;font-variant-numeric:tabular-nums}
.seg{border:0;padding:0;margin:0;display:grid;grid-template-columns:1fr 1fr;gap:10px}
.seg{position:relative}.seg input{position:absolute;opacity:0;pointer-events:none;width:1px;height:1px;left:0;top:0}
.seg label{display:flex;flex-direction:column;align-items:center;justify-content:center;border:1.5px solid #cfd6db;border-radius:12px;padding:10px;min-height:56px;cursor:pointer;font-size:16px;font-weight:800;color:var(--navy);background:#fff;text-align:center}
.seg label span{font-size:13px;font-weight:600;color:var(--muted)}
.seg input:checked+label{border-color:var(--navy);background:var(--navy);color:#fff}
.seg input:checked+label span{color:#d8e3e9}
.seg input:focus-visible+label{outline:3px solid var(--terracotta);outline-offset:2px}
.chips{display:flex;flex-wrap:wrap;gap:8px;align-items:center}
.chips button{border:1.5px solid var(--line);background:var(--soft);color:var(--navy);border-radius:999px;padding:9px 14px;font-weight:700;font-size:14px;cursor:pointer}
.chips button:hover{border-color:var(--navy)}
.more{border-top:1px solid #edf0f2;padding-top:16px}
.more summary{cursor:pointer;font-weight:800;color:var(--terracotta);font-size:17px;list-style:none}
.more summary::-webkit-details-marker{display:none}
.more summary::before{content:"+ "}
.more[open] summary::before{content:"– "}
.more-body{display:flex;flex-direction:column;gap:20px;margin-top:18px}
.calc2-result{position:sticky;top:96px;background:var(--navy);color:#fff;border-radius:22px;padding:26px;display:flex;flex-direction:column;gap:14px}
.calc2-result .total{font-size:46px;font-weight:850;line-height:1;font-variant-numeric:tabular-nums}
.calc-lines{border-top:1px solid rgba(255,255,255,.18);padding-top:12px;font-size:15px;color:#d9e3e9}
.calc-lines .ln{display:flex;justify-content:space-between;gap:12px;padding:4px 0;font-variant-numeric:tabular-nums}
.calc-lines .muted{margin:0;color:#b9c7d0}
.result-notes{list-style:none;padding:12px 0 0;margin:0;border-top:1px solid rgba(255,255,255,.18);font-size:14px;color:#c9d6de;display:flex;flex-direction:column;gap:6px}
.price-card{background:#fff;border:1px solid var(--line);border-radius:22px;padding:24px}
.price-card h3{margin-bottom:12px}
.price-card .small{margin:12px 0 0}
.band-table{min-width:0}
.band-table td,.band-table th{font-variant-numeric:tabular-nums}
.band-table tr.is-active td{background:#fbeee8;color:var(--navy);font-weight:800}
.band-table tr.is-active td:first-child{box-shadow:inset 4px 0 0 var(--terracotta)}
.acc-list{max-width:880px;margin:0 auto;display:flex;flex-direction:column;gap:12px}
.acc{background:#fff;border:1px solid var(--line);border-radius:16px}
.acc summary{cursor:pointer;list-style:none;display:flex;justify-content:space-between;align-items:center;gap:12px;padding:18px 20px;font-weight:800;color:var(--navy);font-size:18px}
.acc summary::-webkit-details-marker{display:none}
.acc summary::after{content:"+";font-size:24px;color:var(--terracotta);font-weight:700;width:18px;text-align:center}
.acc[open] summary::after{content:"–"}
.acc-from{margin-left:auto;color:var(--terracotta);font-size:16px;white-space:nowrap}
.acc-body{padding:0 20px 18px}
.acc-body table{min-width:0}
@media(max-width:900px){.calc2{grid-template-columns:1fr}.calc2-result{position:static}}
@media(max-width:560px){.calc2-inputs{padding:18px}.price-top{padding-top:28px}.acc summary{font-size:17px;padding:16px}.acc-body{padding:0 16px 16px}.acc-body td,.acc-body th{padding:12px;font-size:15px}.qrow-pair{gap:12px}}
.mobile-total{display:none}@media(max-width:900px){.mobile-total{display:flex;position:fixed;left:0;right:0;bottom:0;z-index:60;justify-content:space-between;align-items:center;gap:12px;background:var(--navy);color:#fff;padding:10px 16px calc(10px + env(safe-area-inset-bottom,0px));box-shadow:0 -6px 20px rgba(16,43,63,.2)}.mobile-total>div{display:flex;flex-direction:column;line-height:1.2}.mobile-total .small{color:#c9d6de}.mobile-total strong{font-size:24px;font-variant-numeric:tabular-nums}.mobile-total .btn{padding:12px 18px}body:has(.mobile-total){padding-bottom:76px}}
.qrow-pair{align-items:end}.qrow-pair>div{justify-content:flex-end;height:100%}
.why summary{cursor:pointer;font-weight:700;color:var(--navy);font-size:15px;text-decoration:underline;text-underline-offset:3px}
.why-body{background:var(--soft);border-radius:12px;padding:14px 16px;margin-top:10px;font-size:15px;line-height:1.55}
.why-body p{margin:0 0 8px}.why-body ul{margin:0 0 8px;padding-left:18px}.why-body li{margin:5px 0}
.calc-help{margin:0;border-top:1px solid #edf0f2;padding-top:16px;font-size:16px;color:var(--muted)}
.calc-help a{color:#1f7a4d;font-weight:800;text-decoration:underline;text-underline-offset:3px}
.dpi-table{min-width:0}.dpi-table th,.dpi-table td{padding:10px 12px;font-size:15px;vertical-align:top}.dpi-table td:first-child{font-weight:700;color:var(--navy)}
.dpi-compare{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin:12px 0}.dpi-compare div{aspect-ratio:1/1;max-width:100%;border:2px dashed #b9c6ce;border-radius:12px;display:flex;align-items:center;justify-content:center;text-align:center;padding:10px;font-size:13px;color:var(--muted);background:#fff}
.calc2>*,.qrow>*,.qrow-pair>div,.more-body>*,.why,.why-body{min-width:0}
.dpi-table{width:100%;table-layout:fixed}.dpi-table th:first-child,.dpi-table td:first-child{width:44%}.dpi-table td,.dpi-table th{overflow-wrap:break-word}
@media(max-width:380px){.nav .icon-btn{padding:9px 10px}.nav-right{gap:6px}.brand{font-size:22px}.calc2-inputs{padding:14px}.dpi-table th,.dpi-table td{padding:8px;font-size:14px}}
@media(max-width:340px){.why summary{font-size:13.5px}}

/* Clean band tables */
.price-card .table-wrap{border:0;border-radius:0;background:transparent;overflow:visible}
.band-table{width:100%;border-collapse:collapse}
.band-table th{background:transparent;border-bottom:1.5px solid var(--navy);padding:6px 4px 12px;font-size:13px;font-weight:700;letter-spacing:.06em;text-transform:uppercase;color:var(--muted)}
.band-table td{padding:16px 4px;border-bottom:1px solid #e6e1d8;font-size:22px;font-weight:600;color:var(--navy)}
.band-table td:first-child{font-size:20px;font-weight:700}
.band-table th:not(:first-child),.band-table td:not(:first-child){text-align:right}
.band-table tr:last-child td{border-bottom:1px solid #e6e1d8}
.band-table tr.is-active td{background:#fbeee8;font-weight:800}
.band-table tr.is-active td:first-child{box-shadow:inset 4px 0 0 var(--terracotta);padding-left:12px}
.price-card{border:0;box-shadow:none;background:#fff;padding:28px}
@media(max-width:560px){.band-table td{font-size:19px;padding:14px 4px}.band-table td:first-child{font-size:18px}.price-card{padding:20px}}
.band-table th{text-transform:none;letter-spacing:0;font-size:14px}
.nav{min-width:0}.brand{min-width:0;white-space:nowrap}.nav-right{flex-shrink:0}
.mobile-menu a.menu-call{color:var(--green)}
@media(max-width:480px){.nav .icon-btn[aria-label="Call us"]{display:none}.brand{font-size:24px}}
.notice{border:1px solid #f0d6ca;border-left-width:1px;border-radius:14px}.notice.good{border-color:#cfe3d8}
.signoff{display:flex;flex-direction:column;gap:2px;margin-top:14px}.signoff strong{font:700 24px Georgia,serif;color:var(--navy)}.signoff span{font-size:15px;color:var(--muted)}
/* Centred headings throughout */
.card h3,.card .kicker,.price-card h3,.term h3,.order-card h3,.feature h3{text-align:center}
.cards .card,.grid3 .card,.grid4 .card{text-align:center}
.grid3 .card .table-wrap,.grid4 .card .table-wrap{text-align:left}
.price-card .small{text-align:center}
.wa-help h2{font-size:clamp(24px,6.5vw,34px)!important;line-height:1.15}
@media(max-width:900px){.wa-help{text-align:center;align-items:center}.wa-help .quick-links{justify-content:center}.wa-help>div{display:flex;flex-direction:column;align-items:center}}
@media(max-width:900px){.wa-help[style*="flex-direction:row"]{flex-direction:column!important;align-items:center!important;gap:10px!important}}
.est-help{display:flex;flex-direction:column;gap:8px}.est-q{margin:0;font-size:15px;color:var(--muted);text-align:center}
.chips{display:grid!important;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px}
.chips button{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:2px;border-radius:12px!important;padding:10px 6px!important;min-height:58px;text-align:center}
.chips button strong{font-size:15px;color:var(--navy)}.chips button span{font-size:13px;font-weight:600;color:var(--muted)}
.chips button.is-picked{background:var(--navy);border-color:var(--navy)}.chips button.is-picked strong,.chips button.is-picked span{color:#fff}
.chips button strong{font-size:14px;white-space:nowrap}.chips button span{font-size:12px;white-space:nowrap}
/* More centring */
.more summary,.why summary,.calc-help,.est-q{text-align:center}
.more summary{display:block}
@media(max-width:900px){
#home .hero-grid>div:first-child{text-align:center}
#home .hero-actions{justify-content:center}
.footer{flex-direction:column;align-items:center;text-align:center}
.footer-links{justify-content:center;gap:12px 20px}
#contact .grid2>div:first-child{text-align:center}
#contact .wa-btn{margin:0 auto}
.about{text-align:center}
.signoff{align-items:center}
}

/* Steppers + centred calculator */
.qrow-head{flex-direction:column;align-items:center;gap:2px;text-align:center}
.qrow label,.qrow-pair>div>label{text-align:center}
.stepper{display:grid;grid-template-columns:56px minmax(0,1fr) 56px;gap:8px;align-items:stretch}
.stepper .qty{text-align:center;padding:12px 6px}
.qstep{border:1.5px solid #cfd6db;background:var(--soft);color:var(--navy);border-radius:12px;font-size:28px;font-weight:700;line-height:1;cursor:pointer;min-height:56px;display:flex;align-items:center;justify-content:center}
.qstep:hover{border-color:var(--navy)}.qstep:active{background:#e3eaee}
.qstep:focus-visible{outline:3px solid var(--terracotta);outline-offset:2px}
.qty::-webkit-outer-spin-button,.qty::-webkit-inner-spin-button{-webkit-appearance:none;margin:0}.qty{-moz-appearance:textfield}
@media(max-width:480px){.qrow-pair{grid-template-columns:1fr}.stepper{grid-template-columns:56px minmax(0,1fr) 56px}}
.calc2-result{text-align:center;align-items:center}
.calc2-result>*{width:100%}
.calc-lines .muted{text-align:center}
.result-notes{align-items:center}
.mobile-total{transition:transform .2s ease}.mobile-total.is-hidden{transform:translateY(110%)}
@media(prefers-reduced-motion:reduce){.mobile-total{transition:none}}
.box-h{display:block;font-size:18px;color:var(--navy);margin-bottom:6px;text-align:center}.notice:has(.box-h),.wa-help p:has(.box-h){text-align:center}
.svc-home .card h3{min-height:2.5em;display:flex;align-items:center;justify-content:center;line-height:1.25}@media(min-width:561px){.svc-home .card h3{min-height:0;display:block}}
@media(max-width:560px){.svc-home .grid4{grid-auto-rows:1fr}}
.wa-btn{justify-content:center;gap:12px}
.wa-btn svg{width:30px!important;height:30px!important;stroke-width:2.2}
.wa-btn span{flex:0 1 auto;text-align:left}
.wa-btn svg{width:36px!important;height:36px!important;flex-shrink:0}
/* WhatsApp button: centred text, smaller icon and button */
.wa-btn{justify-content:center;gap:10px;padding:13px 18px;font-size:16px}
.wa-btn span{text-align:center}
.wa-btn svg{width:24px!important;height:24px!important}
/* Logo mark beside the name */
.brand{display:inline-flex;align-items:center;gap:10px}
.brand-mark{width:46px;height:46px;flex-shrink:0}
@media(max-width:560px){.brand-mark{width:40px;height:40px}.brand{gap:8px}}
@media(max-width:380px){.brand-mark{width:34px;height:34px}.brand{gap:6px}}
.brand-mark{width:42px;height:42px}.brand{margin-right:12px}
@media(max-width:380px){.brand-mark{width:38px;height:38px}}
.nav .brand{flex-shrink:0}
@media(max-width:1240px){.navlinks{display:none}.nav .menu-btn{display:inline-flex}}
/* WhatsApp button: same size and shape as the pill links above it */
.wa-help .wa-btn,.wa-btn{width:auto!important;white-space:nowrap;padding:12px 22px;font-size:17px;gap:8px;border-radius:999px}
.wa-btn svg{width:20px!important;height:20px!important}
@media(max-width:900px){.wa-help .wa-btn{align-self:center}}
/* Silver SF shield, left of the name */
.brand-mark{width:40px!important;height:45px!important}
@media(max-width:560px){.brand-mark{width:36px!important;height:40px!important}}
@media(max-width:380px){.brand-mark{width:32px!important;height:36px!important}}
.brand{margin-right:0}
/* Packing guide: centred, numbered steps with the title on its own line */
.pack-card{text-align:center}
.pack-steps{list-style:none;counter-reset:pk;padding:0;margin:18px 0 0;font-size:17px;line-height:1.6}
.pack-steps li{counter-increment:pk;margin:0 auto 20px;max-width:560px;color:#3f515e}
.pack-steps li::before{content:counter(pk);display:grid;place-items:center;width:34px;height:34px;border-radius:50%;background:var(--navy);color:#fff;font-weight:850;margin:0 auto 8px}
.pack-steps li strong{display:block;color:var(--navy);font-size:19px;margin-bottom:2px}
.pack-card .notice{text-align:left}
.pack-card .notice{text-align:center}
/* Postcode checker: centred like the rest of the site */
.pc-card{text-align:center}
.pc-card #pcForm{flex-direction:column;align-items:center}
.pc-card #pcInput{flex:0 0 auto!important;width:100%;max-width:340px;text-align:center;font-size:20px;font-weight:700;letter-spacing:.04em}
.pc-card #pcInput::placeholder{font-weight:400;letter-spacing:0}
.pc-card #pcForm .btn{min-width:200px}
.pc-card .notice{text-align:center;border-left:0;border:1px solid #f0d9cc}
.pc-card .notice.good{border-color:#cfe6d8}
/* How it works: tighter spacing between steps */
#process .section-head{margin-bottom:18px}
#process .step{padding:8px 12px}
#process .step p{margin:4px 0 0}
#process .step .num{margin-bottom:8px}
@media(max-width:560px){#process .steps{gap:18px}}
/* Prices page: free extras box */
.free-box{background:#f1f8f5;border:1px solid #cfe6d8;border-radius:22px;padding:24px 20px;text-align:center;max-width:900px;margin:0 auto}
.free-h{font-size:clamp(26px,4vw,34px);margin:0 0 14px}
.free-list{list-style:none;padding:0;margin:0;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px 24px}
.free-list li{font-size:16px;color:#3f515e;line-height:1.45}
.free-list strong{display:block;color:var(--navy);font-size:18px;margin-bottom:2px}
.free-list strong::before{content:"✓ ";color:#1f7a4d}
@media(max-width:560px){.free-list{grid-template-columns:1fr;gap:14px}}
/* Delivery page: return postage + packing tips, centred cards */
.home-pack .card{text-align:center}
.home-pack h3{margin-bottom:10px}
.home-pack p{font-size:17px;color:#4c5d69;margin:0 0 12px}
.home-pack .hp-strong{display:inline-block;background:#f1f8f5;border:1px solid #cfe6d8;color:var(--navy);font-weight:800;border-radius:14px;padding:10px 14px;margin:4px 0 8px}
.hp-list{list-style:none;padding:0;margin:0}
.hp-list li{font-size:17px;color:#3f515e;padding:10px 0;border-bottom:1px solid #eef1f3;line-height:1.45}
.hp-list li:last-child{border-bottom:0}
.hp-list li::before{content:"✓";display:block;color:#1f7a4d;font-weight:900;margin-bottom:2px}
@media(max-width:900px){.home-pack{grid-template-columns:1fr;gap:18px}}
.hp-list li::before{content:"✓ ";display:inline;margin:0}
/* Organisations page: centred cards, simple price rows */
.org-grid .card{text-align:center}
.org-grid .card p{font-size:17px}
.org-grid .notice{text-align:center;border-left:0;border:1px solid #cfe6d8}
.org-grid .btn{margin-top:4px}
.org-prices{border:1px solid var(--line);border-radius:18px;overflow:hidden;margin:16px 0 0;background:#fff}
.op-row{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:14px 18px;border-bottom:1px solid #eef1f3;text-align:left}
.op-row strong{display:block;color:var(--navy);font-size:18px}
.op-row span{font-size:15px;color:var(--muted)}
.op-row b{font-size:24px;color:var(--terracotta);font-weight:850;white-space:nowrap}
.op-travel{padding:12px 18px;background:#f7f9fa;font-size:15px;color:#3f515e}
.op-travel strong{color:var(--navy)}
/* FAQ: centred, card-style questions in groups */
.faq2{max-width:760px;margin:0 auto;text-align:center}
.faq-group{font:700 24px/1.2 Georgia,serif;color:var(--navy);margin:34px 0 14px}
.faq-group:first-child{margin-top:0}
.faq2 details{background:#fff;border:1px solid var(--line);border-radius:18px;padding:0;margin:0 0 12px;box-shadow:0 4px 14px rgba(16,43,63,.04)}
.faq2 summary{list-style:none;display:flex;flex-direction:column;align-items:center;gap:8px;padding:16px 18px;font-size:18px;line-height:1.35;cursor:pointer}
.faq2 summary::-webkit-details-marker{display:none}
.faq2 summary i{width:28px;height:28px;border-radius:50%;background:#eef3f5;position:relative;flex-shrink:0}
.faq2 summary i::before,.faq2 summary i::after{content:"";position:absolute;left:50%;top:50%;width:12px;height:2.5px;background:var(--navy);border-radius:2px;transform:translate(-50%,-50%)}
.faq2 summary i::after{transform:translate(-50%,-50%) rotate(90deg);transition:transform .2s}
.faq2 details[open] summary i{background:var(--navy)}
.faq2 details[open] summary i::before{background:#fff}
.faq2 details[open] summary i::after{transform:translate(-50%,-50%) rotate(0);background:#fff}
.faq2 details[open]{border-color:#c9d6de}
.faq2 details p{margin:0 auto;padding:0 20px 14px;max-width:620px;font-size:17px;line-height:1.6;color:#3f515e}
.faq2 details p:first-of-type{border-top:1px solid #eef1f3;padding-top:14px}
.faq2 details p:last-child{padding-bottom:20px}
/* Slightly smaller headings (body text stays at 17px for easy reading) */
h1{font-size:clamp(34px,5vw,56px)}
h2{font-size:clamp(28px,3.6vw,40px)}
@media(max-width:560px){h1,.page-h1{font-size:34px}h2{font-size:28px}}
/* Before & after slider */
.ba-list{display:grid;grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:22px;max-width:1000px;margin:0 auto}
.ba{margin:0}.ba[hidden]{display:none}
.ba-frame{position:relative;border-radius:18px;overflow:hidden;box-shadow:var(--shadow);background:#eee;aspect-ratio:4/3}
.ba-frame img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;display:block}
.ba-top{position:absolute;inset:0;clip-path:inset(0 50% 0 0);border-right:3px solid #fff}
.ba-tag{position:absolute;top:10px;background:rgba(16,43,63,.8);color:#fff;font-size:14px;font-weight:800;padding:4px 10px;border-radius:999px}
.ba-tag.l{left:10px}.ba-tag.r{right:10px}
.ba-range{width:100%;margin-top:12px;accent-color:var(--terracotta);height:28px;padding:0;border:0}
/* Dee's photo */
.about-photo img{width:100%;height:100%;object-fit:cover;border-radius:50%;display:block}
.about-photo:has(img){padding:0;overflow:hidden}
/* Reviews */
.reviews{display:grid;grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:20px;max-width:1000px;margin:0 auto}
.review{margin:0;background:#fff;border:1px solid var(--line);border-radius:20px;padding:24px;text-align:center}
.review .stars{color:#e0a100;font-size:22px;letter-spacing:2px}
.review blockquote{margin:10px 0 12px;font-size:17px;color:#3f515e;line-height:1.55}
.review figcaption{font-weight:800;color:var(--navy)}
.review.template{display:none}
.about-photo[hidden],.ba-section[hidden],.reviews-section[hidden]{display:none!important}
/* Help guide page */
.guide-list{display:flex;flex-direction:column;gap:22px;max-width:780px;margin:0 auto}
.guide-h{font-size:clamp(24px,3vw,30px);margin:4px 0 8px}
.guide p{font-size:17px;color:#4c5d69;max-width:620px;margin:0 auto 6px}
.guide{scroll-margin-top:90px}
/* Guides / blog */
.post-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:20px;max-width:1000px;margin:0 auto}
.post-card{display:flex;flex-direction:column;gap:8px;background:#fff;border:1px solid var(--line);border-radius:20px;padding:24px;text-align:center;color:var(--ink)}
.post-card strong{font:700 21px/1.3 Georgia,serif;color:var(--navy)}
.post-card span:not(.kicker){font-size:16px;color:#4c5d69}
.post-card em{font-style:normal;font-size:14px;color:var(--muted);margin-top:auto}
.post-card:hover{border-color:var(--terracotta)}
.article-head{text-align:center;max-width:760px;margin:0 auto 28px}
.article-head .back{display:inline-block;margin-bottom:14px;font-weight:700;color:var(--terracotta)}
.article-head .meta{font-size:15px;color:var(--muted);margin:8px 0 0}
.article{max-width:680px;margin:0 auto;font-size:18px;line-height:1.7;color:#2c3e4a}
.article h2{font:700 26px/1.25 Georgia,serif;color:var(--navy);margin:34px 0 10px}
.article p{margin:0 0 16px}
.article ul{padding-left:22px;margin:0 0 16px}.article li{margin:8px 0}
.article a{color:var(--terracotta);text-decoration:underline}
.article table{margin:8px 0 20px;border:1px solid var(--line);border-radius:14px;overflow:hidden;display:table}
.article th,.article td{font-size:16px;padding:12px 14px}
.article-cta{max-width:680px;margin:36px auto 0;text-align:center;background:var(--cream);border-radius:20px;padding:26px}
.article-cta p{font:700 22px Georgia,serif;color:var(--navy);margin:0 0 14px}
.more-h{text-align:center;font-size:28px;margin:54px 0 20px}
@media(max-width:560px){.article{font-size:17px}.article h2{font-size:23px}}
.article h3{font-size:20px;color:var(--navy);margin:24px 0 6px}
.art-table{overflow-x:auto;margin:8px 0 20px;border:1px solid var(--line);border-radius:14px}
.art-table table{margin:0;border:0;border-radius:0;min-width:100%}
@media(max-width:560px){.article th,.article td{padding:10px 10px;font-size:15px}}

/* Minimum order note under totals */
.min-note{font-size:.88rem;margin-top:4px;text-align:center}
.calc2-result .min-note{color:#c9d6de;margin:2px 0 10px}
.summary .min-note{text-align:right;color:var(--muted);margin-top:6px;padding:0 14px 4px}
.usb-opt{margin:4px 0 16px}

/* Order form: your details */
.fields{display:grid;grid-template-columns:1fr 1fr;gap:18px 28px}
.fields>div:nth-child(4){grid-column:1/-1}
.fields input+input,.fields input+.addr-row{margin-top:10px}
.addr-row{display:grid;grid-template-columns:1.4fr 1fr;gap:10px}
@media(max-width:900px){.fields{grid-template-columns:1fr}}
.addr-row input+input{margin-top:0}
@media(max-width:480px){.addr-row{grid-template-columns:1fr}}

.album-price{font-weight:800;color:var(--terracotta);margin-top:6px}

/* Order review (coming from the calculator) */
#reviewLines .srow{align-items:center}
#reviewLines .small{font-size:14px}
.review-change{text-align:center;margin:16px 0 0}
.review-change a{color:var(--terracotta);font-weight:800;text-decoration:underline}
.usb-details{margin:0 0 18px}
.reassure .box-h{display:block;margin-bottom:4px}
/* Delivery options: radio button beside the wording */
.option{display:grid;grid-template-columns:auto 1fr;column-gap:14px;align-items:start}
.option input{grid-row:1/3;margin:5px 0 0;width:20px;height:20px}
.option strong{margin:0 0 4px}
.option .small{grid-column:2}
.option{align-content:start}
@media(max-width:900px){.desk-send{display:none}}

.skip-calc{text-align:center;color:#c9d6de;font-size:15px;margin:14px 0 0}
.skip-calc a{color:#fff;text-decoration:underline;font-weight:700}

/* Order page: describe box and post-instead link */
.by-post{margin-top:10px!important;font-size:16px}
.by-post a{color:var(--terracotta);font-weight:800;text-decoration:underline}
.describe-note{text-align:center;margin:12px 0 0}
.describe-note a{color:var(--terracotta);font-weight:800;text-decoration:underline}
#describeCard textarea{min-height:110px}

/* Address finder */
.addr-find{margin:0 0 12px}
.addr-find-row{display:flex;gap:10px}
.addr-find-row input{flex:1;min-width:0}
.addr-find-row .btn{padding:12px 18px;white-space:nowrap}
#findPick{margin-top:10px}
#findMsg{margin:8px 0 0;min-height:0}
#findMsg:empty{display:none}

/* Send us your photos */
.quality{margin:20px 0 18px}
.q-label{display:block;font-weight:800;color:var(--navy);margin-bottom:8px}
.quality .option{margin-bottom:10px}
.opt{font-weight:400;color:var(--muted);font-size:15px}
.alt-ways{text-align:center}
.alt-ways p{margin:0 0 14px;color:var(--muted)}
.alt-ways .alt-or{margin:12px 0 8px}
.alt-link{color:var(--terracotta);font-weight:800;text-decoration:underline;font-size:17px}
.order .reassure{margin-top:4px}

.std-note{text-align:center;margin:14px auto 0;font-size:17px;color:#3f515e}

.addr-box{grid-column:1/-1}
.addr-box textarea{min-height:92px}
.addr-box input{margin-top:10px;max-width:220px}
@media(max-width:900px){.addr-box input{max-width:none}}
/* Price bands: highlight only, no side bar; even padding so every row lines up */
.band-table tr.is-active td:first-child{box-shadow:none}
.band-table td:first-child,.band-table th:first-child{padding-left:12px}
.band-table td:last-child,.band-table th:last-child{padding-right:12px}

.addr-box input{display:block;width:100%;max-width:none;margin-top:10px}
.addr-box label+input{margin-top:0}
.addr-box #fPost{max-width:220px}
@media(max-width:900px){.addr-box #fPost{max-width:none}}

/* 300 vs 600dpi comparison */
.dpi-vs{max-width:620px;margin:16px auto 0;border:1px solid var(--line);border-radius:16px;overflow:hidden;background:#fff}
.dpi-vs table{width:100%;border-collapse:collapse;table-layout:fixed}
.dpi-vs th,.dpi-vs td{padding:12px 10px;border-bottom:1px solid #edf0f2;font-size:16px;text-align:center;vertical-align:middle;line-height:1.35}
.dpi-vs tr:last-child td{border-bottom:0}
.dpi-vs th{background:#f7f9fa;color:var(--navy);font-size:16px}
.dpi-vs th:last-child{background:var(--navy);color:#fff}
.dpi-vs td:first-child{text-align:left;font-weight:700;color:var(--navy);width:30%}
.dpi-vs td:first-child span{display:block;font-weight:400;font-size:13px;color:var(--muted)}
.dpi-vs td:last-child{background:#f1f8f5;font-weight:700;color:#1f5a3f}
.price-card .dpi-vs table,.dpi-vs table{width:100%!important;min-width:0!important;table-layout:fixed!important;display:table!important}
.dpi-vs th,.dpi-vs td{width:35%;font-size:15px;padding:11px 8px;word-break:normal;overflow-wrap:break-word}
.dpi-vs th:first-child,.dpi-vs td:first-child{width:30%}
.num{line-height:1}

/* Other prices list */
.other-prices{max-width:640px;margin:0 auto;background:#fff;border:1px solid var(--line);border-radius:18px;overflow:hidden}
.other-prices table{width:100%;border-collapse:collapse}
.other-prices td{padding:14px 16px;border-bottom:1px solid #edf0f2;font-size:17px;color:var(--ink);text-align:left}
.other-prices tr:last-child td{border-bottom:0}
.other-prices td:last-child{text-align:right;font-weight:800;color:var(--navy);white-space:nowrap}
.other-note{text-align:center;max-width:640px;margin:16px auto 0;font-size:16px;color:var(--muted)}
.other-note a{color:var(--terracotta);font-weight:700;text-decoration:underline}
.free-line{text-align:center;max-width:640px;margin:22px auto 0;font-size:17px;color:#2f5247;background:#f1f8f5;border-radius:14px;padding:14px 16px}

.other-prices th{padding:10px 16px;background:#f7f9fa;color:var(--muted);font-size:14px;text-align:left;border-bottom:1px solid #edf0f2}
.other-prices th:last-child{text-align:right}

.free-line h3{margin:0 0 8px;font-size:20px;color:#1f5a3f}
.free-line ul{list-style:none;margin:0;padding:0}
.free-line li{margin:6px 0}
.free-line li::before{content:"✓ ";color:#1f7a4d;font-weight:800}

.free-line li{margin:10px 0}
.free-line li strong{color:#1f5a3f}
.free-line li span{display:block;font-size:15px;color:#4c6b5f;margin-top:2px}

#bookSlot[hidden],#voucherBtns[hidden],#video[hidden]{display:none!important}
.voucher-btns{display:flex;flex-wrap:wrap;gap:14px;justify-content:center;margin:0 0 14px}.voucher-btns .btn{font-size:19px;padding:16px 26px}
.video-wrap{max-width:860px;margin:0 auto}.video-wrap video{width:100%;border-radius:18px;background:#000;box-shadow:var(--shadow)}
