
:root{--navy:#153446;--ink:#1d3947;--muted:#5b6a73;--cream:#FFF0E7;--soft:#FFFCF7;--gold-dark:#A83A24;--gold:#C7472E;--gold-light:#E2846C;--line:#EFE3D8;--white:#fff;--green:#2f6b57;--shadow:0 14px 34px rgba(21,52,70,.10)}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;font-family:Figtree,"Figtree Fallback",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(--gold-dark)}.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:linear-gradient(180deg,var(--gold),var(--gold-dark));color:#fff;box-shadow:inset 0 1px 0 rgba(255,255,255,.25)}.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(--gold-dark);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:940px}.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(--gold-dark);margin:18px 0 3px}.small{font-size:15px;color:var(--muted)}.kicker{font-weight:850;color:var(--gold-dark);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(--gold-dark);background:#fbf6ea;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(--gold-dark);font-weight:800}.mobile-menu a[aria-current="page"]{color:var(--gold-dark)}
@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(--gold-dark);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(--gold-dark);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:#f8f0dc;color:var(--navy);font-weight:800}
.band-table tr.is-active td:first-child{box-shadow:inset 4px 0 0 var(--gold-dark)}
.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(--gold-dark);font-weight:700;width:18px;text-align:center}
.acc[open] summary::after{content:"–"}
.acc-from{margin-left:auto;color:var(--gold-dark);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:#f8f0dc;font-weight:800}
.band-table tr.is-active td:first-child{box-shadow:inset 4px 0 0 var(--gold-dark);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){.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(--gold-dark);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(--gold-dark);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(--gold-dark);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(--gold-dark)}
.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(--gold-dark)}
.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(--gold-dark);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(--gold-dark);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(--gold-dark);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}


.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(--gold-dark);font-weight:800;text-decoration:underline}
.describe-note{text-align:center;margin:12px 0 0}
.describe-note a{color:var(--gold-dark);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(--gold-dark);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(--gold-dark);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)}

/* ---- 10% off sign-up box ---- */
.sf-offer{position:fixed;z-index:80;right:20px;bottom:20px;width:min(400px,calc(100% - 32px));background:#fff;border:1px solid var(--line);border-radius:22px;padding:26px 24px 20px;box-shadow:0 22px 50px rgba(16,43,63,.25);transform:translateY(30px);opacity:0;transition:transform .3s,opacity .3s}
.sf-offer.in{transform:none;opacity:1}
.sf-offer h3{font:700 26px/1.15 Georgia,serif;margin:0 30px 8px 0}
.sf-offer p{font-size:17px;color:#3f515e;margin:0 0 14px}
.sf-offer-form{display:flex;flex-direction:column;gap:10px}
.sf-offer-form input[type=email]{font-size:18px;padding:14px}
.sf-offer-form .btn,.sf-offer .btn{width:100%;font-size:18px}
.sf-offer-small{font-size:14px!important;color:var(--muted)!important;margin:12px 0 0!important}
.sf-offer-small a{text-decoration:underline}
.sf-offer-x{position:absolute;top:10px;right:12px;border:0;background:none;font-size:32px;line-height:1;color:var(--muted);cursor:pointer;padding:4px 8px}
.sf-offer-code{font:800 30px/1.2 system-ui,sans-serif!important;letter-spacing:3px;color:var(--navy)!important;background:var(--cream);border:2px dashed var(--navy);border-radius:12px;padding:12px;text-align:center}
@media(max-width:560px){.sf-offer{left:16px;right:16px;bottom:16px;width:auto}}
@media(max-width:900px){body:has(.mobile-total) .sf-offer{bottom:92px}}

/* ---- Tidy-up Oct 2026: larger, calmer text ---- */
body{font-size:18px}
.small{font-size:16px}
.card p,details p,.term ul,.step p{font-size:18px}
.kicker,.svc-home .kicker{font-size:13px}
.eyebrow{font-size:14px}
.svc-home .small{font-size:15px}
.seg label span,.chips button span,.chips button strong,.band-table th,.other-prices th,.result-notes,#reviewLines .small,.dpi-table th,.dpi-table td{font-size:15px}
.navlinks{font-size:17px;gap:22px}
@media(max-width:1100px){.navlinks{display:none}}
.hero-note{font-size:17px}
.text-link{color:var(--navy);font-weight:800;text-decoration:underline;font-size:18px}
/* order form */
.opt{color:var(--muted);font-weight:400}
.opt-help{margin:4px 0 0}.opt-help a{text-decoration:underline;color:var(--navy)}
#orderForm textarea{min-height:0;margin-bottom:18px}
#orderForm .quality{margin:22px 0}
.two-opt{margin:0 0 18px}
.consent{margin:22px 0 18px;background:var(--soft);border-radius:14px;padding:16px}
.consent a{text-decoration:underline}
.checkbox input[type=checkbox]{width:24px;height:24px;flex:0 0 24px;margin-top:2px;accent-color:var(--gold-dark)}
.checkbox span{font-size:17px;line-height:1.5}
.option input[type=radio]{width:22px;height:22px;accent-color:var(--gold-dark)}
.addr-box input{margin-bottom:10px}
/* 10% offer strip */
.offer-strip{background:#f6eed8;color:var(--navy);text-align:center;padding:10px 44px 10px 14px;font-size:17px;position:relative}
.offer-strip button.link{background:none;border:0;color:var(--gold-dark);font-weight:800;text-decoration:underline;cursor:pointer;padding:0 0 0 6px;font-size:17px}
.offer-strip .x{position:absolute;right:8px;top:50%;transform:translateY(-50%);background:none;border:0;font-size:24px;line-height:1;color:var(--navy);cursor:pointer;padding:6px 10px}

/* ---- One consistent text size scale (all screen sizes) ----
   Main text 18px · secondary notes 16px · small capital labels 14px */
html body{font-size:18px}
html body p,html body li,html body td,html body summary,html body details p,html body .card p,html body .step p,html body .term ul,html body .lead,html body .section-head p,html body .hero-note,html body .checkbox span,html body .offer-strip,html body .offer-strip button.link,html body .about p,html body .cta p,html body .notice{font-size:18px}
html body .small,html body p.small,html body span.small,html body div.small,html body .opt,html body th,html body .muted,html body .est-q,html body .skip-calc,html body .calc-help,html body .min-note,html body .result-notes,html body .result-notes li,html body .seg label span,html body .chips button span,html body .chips button strong,html body .why-body,html body .why-body p,html body .dpi-table td,html body .dpi-table th,html body #reviewLines .small,html body .svc-home .small,html body footer,html body .footer-links a,html body .topbar,html body .sf-offer-small{font-size:16px}
html body .kicker,html body .svc-home .kicker,html body .eyebrow{font-size:14px}
html body .navlinks a{font-size:17px}
html body label{font-size:18px}
html body p:not(.small):not(.muted):not(.est-q):not(.skip-calc):not(.calc-help):not(.sf-offer-small):not(.sf-offer-code),html body li:not(.result-notes li),html body summary,html body td{font-size:18px!important}
html body p.small,html body th,html body .signoff span,html body .dpi-compare div{font-size:16px!important}
html body li strong,html body p strong,html body td strong,html body p a,html body li a{font-size:inherit!important}
html body .svc-home h3{font-size:19px}
html body .free-line li span{font-size:16px}

.cmp{border:0;padding:8px 0 0}.cmp summary{color:var(--navy);text-decoration:underline}
.price-card{min-width:0}.notice .table-wrap td,.notice .table-wrap th{padding:10px 10px}

/* Trust ticks under the hero, three steps, included line, phone number in header (Oct 2026) */
.hero-ticks{list-style:none;padding:0;margin:4px 0 20px;display:grid;gap:8px}
html body .hero-ticks li{font-size:18px;font-weight:700;color:var(--navy)}
.hero-ticks li::before{content:"✓ ";color:#1f7a4d;font-weight:900}
html body .hero-sub{margin-top:14px;font-size:17px;color:var(--muted)}
.hero-sub a{color:var(--navy);text-decoration:underline;font-weight:700}
.steps.steps3{grid-template-columns:repeat(3,1fr)}
@media(max-width:560px){.steps.steps3{grid-template-columns:1fr}}
html body .cta .included-line{font-size:16px;color:#c9d6de;margin:0 auto 22px;max-width:720px}
@media(min-width:1101px){.nav .icon-btn.call .lbl{display:inline}}
/* round 2: simpler, easier to read */
.promise-card{max-width:760px;margin:0 auto}.promise-card p{margin:6px 0 0;font-size:17px}.promise-table td,.promise-table th{text-align:left}.promise-table td strong{font-size:20px}
.dpi-line{margin:8px 0 0}
.code-box{margin:0 0 18px;border:1px solid var(--line);border-radius:14px;padding:4px 14px;background:#fff}.code-box summary{font-size:17px;padding:10px 0;cursor:pointer;color:var(--navy);font-weight:700}.code-box div{padding:4px 0 12px}
.price-card .small,.other-prices td,.result-notes,.calc-help,.svc-home .small{font-size:17px}
@media(max-width:560px){.svc-home .small{font-size:14px}}
@media(max-width:700px){.price-card .small,.card p,.section-head p,details p,.term ul,.about p,.notice{text-align:left}.hero-art{display:none}.hero{padding-top:28px}}
.num{font-variant-numeric:tabular-nums;line-height:1;font-size:18px;font-family:Arial,Helvetica,sans-serif;padding:0 0 1px 0;text-align:center}
.ref-box .ref-track{display:block;margin-top:6px;font-weight:700;color:var(--navy);text-decoration:underline}.ref-box .ref-track:visited{color:var(--navy)}
.footer{flex-direction:column;align-items:center;text-align:center}.footer-links{justify-content:center}
.about{flex-direction:column;text-align:center}.about p,.about .kicker,.about h2{text-align:center!important}.about>div:last-child{max-width:820px;margin:0 auto}
.collect-strip{display:grid;grid-template-columns:repeat(3,1fr);gap:16px;max-width:980px;margin:24px auto 0}
.cs-tile{background:#fff;border:1px solid var(--line);border-radius:18px;padding:20px 18px;text-align:center;box-shadow:0 8px 22px rgba(16,43,63,.045)}
.cs-tile strong{display:block;font-size:30px;font-weight:850;color:var(--gold-dark);line-height:1.1;margin-bottom:6px}.cs-tile strong small{font-size:17px;font-weight:700;color:var(--navy)}
.cs-tile span{display:block;font-size:18px;color:var(--ink)}
.cs-note{text-align:center!important;max-width:820px;margin:14px auto 0}
@media(max-width:700px){.collect-strip{grid-template-columns:1fr;gap:10px}.cs-tile{padding:14px}}
.collect-strip{max-width:none;gap:22px;margin-top:22px}
.cs-head{text-align:center;margin:34px 0 0;font-size:24px}
.cs-tile .nw{display:inline;white-space:nowrap;font-size:inherit}
#care,#compare{text-align:center}#care p,#compare p,#care .hp-list li,#compare .hp-list li{text-align:center!important}
#care .hp-list,#compare .hp-list{padding-left:0}#compare details.cmp summary{text-align:center}#compare details.cmp table td,#compare details.cmp table th{text-align:left}
form[data-sf-form="contact"] button[type="submit"]{display:flex;margin:18px auto 0}.desk-send{text-align:center}.desk-send .btn{margin:0 auto}
.contact-left,.contact-left p,.contact-left .card p,.contact-left h1{text-align:center!important}.contact-left .wa-btn{margin:0 auto}
/* Tick lists: ticks and text left-aligned, the list itself centred as a block (Oct 2026) */
html body .hp-list,html body .hero-ticks,html body .free-line ul{width:fit-content;max-width:100%;margin-left:auto;margin-right:auto;text-align:left}
html body .hp-list li,html body .hero-ticks li,html body .free-line li,#care .hp-list li,#compare .hp-list li{text-align:left!important;position:relative;padding-left:28px}
html body .hp-list li::before,html body .hero-ticks li::before,html body .free-line li::before{position:absolute;left:0;top:auto;display:inline}
html body .hp-list li::before{top:10px}
html body .free-line li span{display:block}
@media(max-width:700px){.promise-row{flex-direction:column;align-items:flex-start;width:fit-content;margin-left:auto;margin-right:auto}}
.cta-points{list-style:none;padding:0;margin:6px auto 26px;display:flex;flex-wrap:wrap;justify-content:center;gap:10px 26px;max-width:900px}
.cta-points li{font-size:19px;font-weight:700;color:#fff}.cta-points li::before{content:"✓ ";color:#7fd3a6;font-weight:900}
@media(max-width:700px){.cta-points{flex-direction:column;align-items:flex-start;width:fit-content;gap:8px}}
/* Delivery page: both tick lists start at the same place, each line on one line on a laptop */
#care .hp-list,#compare .hp-list{width:100%;max-width:880px}
@media(min-width:1000px){#care .hp-list li,#compare .hp-list li{white-space:nowrap}}
#care .hp-list,#compare .hp-list{margin-left:auto!important;margin-right:auto!important}
.dpi-line{text-align:center!important}
/* "Included with every order": same text colours as the rest of the site, only the ticks green */
html body .free-line{background:#fff;border:1px solid var(--line);box-shadow:0 8px 22px rgba(16,43,63,.045);color:#3f515e}
html body .free-line h3{color:var(--navy)}
html body .free-line li strong{color:var(--navy)}
html body .free-line li span{color:#4c5d69}
html body .free-line li::before{color:#1f7a4d}
/* Small capital labels (kickers): a solid weight that renders cleanly on Windows, a little more room */
html body .kicker,html body .eyebrow{font-weight:800;letter-spacing:.06em;line-height:1.4;font-family:"Segoe UI",system-ui,-apple-system,Arial,sans-serif}
/* Other prices table: let text wrap on phones so nothing is cut off */
@media(max-width:560px){.other-prices td:last-child{white-space:normal;min-width:96px}.other-prices td{padding:12px 12px;font-size:16px}}
/* Phones: keep headings' subtitles and card text centred like the rest of the site */
@media(max-width:700px){html body .section-head p,html body .card p,html body .price-card .small,html body .notice{text-align:center}
html body .card .hp-list li,html body .free-line li{text-align:left!important}}
@media(max-width:560px){html body .svc-home .grid4{grid-auto-rows:auto;align-items:stretch}}
@media(max-width:560px){html body .hero-actions{justify-content:center}html body .hero-actions .btn{width:auto;padding:14px 40px}}
/* Promise row on phones: one tick per line, text wraps so the row can never be wider than the screen (Oct 2026) */
@media(max-width:700px){html body .promise-row{display:flex;flex-direction:column;align-items:flex-start;gap:10px;width:fit-content;max-width:100%;margin-left:auto;margin-right:auto;box-sizing:border-box}
html body .promise-row li{white-space:normal;position:relative;padding-left:26px;max-width:100%}
html body .promise-row li::before{position:absolute;left:0;margin-right:0}}
@media(max-width:420px){html body .card h3{font-size:20px}html body .card{padding-left:20px;padding-right:20px}}
@media(max-width:370px){html body .card h3{font-size:19px}}
html body .contact-left .contact-lines{text-align:left!important;width:fit-content;max-width:100%;margin-left:auto;margin-right:auto}
.brand{display:inline-flex;align-items:center;gap:10px}html body .brand-mark{width:42px;height:42px;flex-shrink:0;display:block}@media(max-width:560px){html body .brand-mark{width:36px;height:36px}html body .brand{gap:8px}}@media(max-width:380px){html body .brand-mark{width:30px;height:30px}}

.tiff-card{max-width:820px;margin:0 auto;background:#fff;border:1px solid var(--line,#d9e0e4);border-radius:22px;padding:26px 24px}
.tiff-card p{margin:0 0 14px}.tiff-card p:last-child{margin-bottom:0}
.tiff-two{display:grid;grid-template-columns:1fr 1fr;gap:14px;margin:4px 0 18px}
.tiff-two div{background:var(--paper,#f6f4ef);border-radius:16px;padding:16px 18px}
.tiff-two strong{display:block;color:var(--navy,#102b3f);font-size:19px;margin-bottom:4px}
.tiff-two span{display:block;font-size:17px;color:var(--muted,#5b6b77)}
@media(max-width:640px){.tiff-two{grid-template-columns:1fr}.tiff-card{padding:22px 18px}}

.tiff-table{width:100%;border-collapse:collapse;margin:0 0 10px;font-size:17px}
.tiff-table th,.tiff-table td{padding:10px 12px;border-bottom:1px solid var(--line,#d9e0e4);text-align:left;vertical-align:top}
.tiff-table th{color:var(--navy,#102b3f);font-size:18px}.tiff-table td:first-child{font-weight:700;color:var(--navy,#102b3f);white-space:nowrap}
@media(max-width:640px){.tiff-table{font-size:16px}.tiff-table th,.tiff-table td{padding:9px 6px}.tiff-table td:first-child{white-space:normal;width:30%}}

.ttl-fig{max-width:980px;margin:0 auto 22px}.ttl-fig img{width:100%;height:auto;display:block;border-radius:16px}
.ttl-fig figcaption{display:grid;grid-template-columns:1fr 1fr 1fr;text-align:center;font-weight:800;color:var(--navy,#102b3f);font-size:17px;margin-top:8px}
.ttl-two{display:grid;grid-template-columns:1fr 1fr;gap:16px;max-width:980px;margin:0 auto}
.ttl-two>div{background:#fff;border:1px solid var(--line,#d9e0e4);border-radius:18px;padding:18px 20px}
.ttl-two strong{display:block;color:var(--navy,#102b3f);font-size:20px;margin-bottom:6px}
.ttl-two ul{margin:0;padding-left:20px}.ttl-two li{margin:5px 0}
.ttl-note{max-width:820px;margin:18px auto 0;text-align:center}
@media(max-width:640px){.ttl-two{grid-template-columns:1fr}.ttl-fig figcaption{font-size:15px}}

.tiff-promise{border:2px solid var(--navy,#102b3f);border-radius:16px;padding:14px 18px;margin:0 0 18px;background:#fff}
.tiff-promise strong{display:block;color:var(--navy,#102b3f);font-size:19px;margin-bottom:4px}.tiff-promise span{display:block;font-size:17px}
.tiff-card{text-align:center}.tiff-card .tiff-table{text-align:left}
.tiff-card a{color:var(--navy,#102b3f);font-weight:800;text-decoration:underline}
/* In-text links: a little darker than the text around them so they stand out (not as dark as headings) */
main p a:not(.btn):not(.text-link),main li a:not(.btn):not(.text-link),main details a:not(.btn),.free-line a,.small a:not(.btn){color:#3d6a87;font-weight:600}
.tiff-card a{color:#3d6a87;font-weight:600}
.calc-help a{color:#1f7a4d;font-weight:800}

/* What you get back */
.getback .card{text-align:left}.getback .kicker{margin-bottom:6px}.gb-row{border-top:1px solid #edf0f2;padding:12px 0}.gb-row strong{display:block;color:var(--navy);font-size:18px}.gb-row span{color:#4c5d69;font-size:17px}
.gb-map{display:grid;grid-template-columns:1fr auto 1fr;gap:10px;align-items:center;background:#f8f6f1;border-radius:16px;padding:16px;margin:6px 0 12px}.gb-map b{display:block;color:var(--navy);font-size:14px;text-transform:uppercase;letter-spacing:.06em;margin-bottom:6px}.gb-map span{display:block;background:#fff;border:1px solid var(--line);border-radius:10px;padding:7px 10px;margin:5px 0;font-size:15px;color:var(--ink)}.gb-map span.fd{border-left:5px solid var(--gold-dark)}.gb-arrow{font-size:28px;color:var(--gold-dark);font-weight:800}.gb-file{font-family:ui-monospace,Menlo,Consolas,monospace;background:#f1f3f4;border-radius:6px;padding:2px 6px}
@media(max-width:420px){.gb-map{grid-template-columns:1fr}.gb-arrow{transform:rotate(90deg);justify-self:center}}

/* hero ticks: each on one line on computers */
@media(min-width:1000px){.hero-ticks li{white-space:nowrap}}

/* review fixes, Oct 2026 */
.incl-badge{max-width:760px;margin:26px auto 0;text-align:center;background:#f1f8f5;border:1px solid #cfe6d8;border-radius:14px;padding:14px 18px;font-size:17px;color:#2f5247}
.usb-pick{margin:14px 0 6px;background:#fff;border:1px solid var(--line);border-radius:12px;padding:12px 14px;font-weight:400}
.usb-pick input{width:22px;height:22px;accent-color:var(--gold-dark)}

a.topbar{display:block;color:#fff!important;text-decoration:none!important}a.topbar:hover,a.topbar:focus-visible{text-decoration:underline!important}

.price-rule .rule-head{font-size:21px;font-weight:800;color:var(--navy);margin:10px 0 6px;line-height:1.35}.price-rule p{margin:6px 0}.rule-table td{vertical-align:top}.rule-table td:nth-child(2){font-size:16px;color:#3f515e}.rule-table td:last-child{white-space:nowrap}
.cheaper-note{margin:10px 0 0;padding:10px 12px;border-radius:10px;background:rgba(255,255,255,.12);font-size:15px;line-height:1.45;color:inherit}
@media(max-width:640px){.rule-table thead{display:none}.rule-table tr{display:grid;grid-template-columns:1fr auto;gap:2px 12px;padding:12px 14px;border-bottom:1px solid #e8edef}.rule-table tr:last-child{border-bottom:0}.rule-table td{padding:0;border:0;text-align:left}.rule-table td:first-child{font-weight:800;color:var(--navy)}.rule-table td:nth-child(2){grid-column:1/-1;grid-row:2;font-size:15px}.rule-table td:last-child{grid-column:2;grid-row:1;text-align:right}}
.crumbs{font-size:15px;color:var(--muted);margin-bottom:14px}.crumbs a{text-decoration:underline}.svc-hero .lead{margin:0 0 20px}.svc-cta{display:flex;gap:12px;flex-wrap:wrap}.svc-h2{font-size:clamp(26px,3.6vw,34px)}.svc-body .grid2>div>.table-wrap{margin-bottom:12px}.svc-steps{padding-left:22px;font-size:18px;line-height:1.55;max-width:820px}.svc-steps li{margin:10px 0}.svc-ticks{margin-top:18px}.svc-faq{max-width:none}.town-chips{display:flex;flex-wrap:wrap;gap:10px;margin-top:14px}.town-chips span{background:#fff;border:1.5px solid #cfe6d8;border-radius:999px;padding:8px 16px;font-weight:700;color:var(--navy)}.svc-links .card{display:block}.svc-links .card:hover{border-color:var(--gold-dark)}.svc-links .card h3{margin-bottom:4px}.svc-links .card p{margin:0}
.card-more{display:inline-block;margin-top:12px;font-weight:800;color:var(--gold-dark);text-decoration:underline}.foot-svc a{text-decoration:underline}

.pin-box{margin:18px 0 6px;padding:16px;border:1px solid var(--line,#e4dfd4);border-radius:12px;background:#fff}
.pin-box .q-label{display:block;font-weight:700;margin-bottom:6px}
.pin-box input{font-size:24px;letter-spacing:6px;text-align:center}

/* Your order's journey: real photos, each step shown once its picture exists */
.journey-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:22px}
.journey-step{margin:0;background:#fff;border:1px solid var(--line);border-radius:20px;overflow:hidden;box-shadow:0 8px 22px rgba(16,43,63,.045)}
.journey-step img{display:block;width:100%;aspect-ratio:4/3;object-fit:cover;background:#eee9e0}
.journey-step figcaption{padding:16px 18px 18px;display:flex;flex-direction:column;gap:4px}
.journey-step strong{font-size:19px;color:var(--navy)}
.journey-step figcaption span:not(.journey-num){font-size:17px;color:#4c5d69;line-height:1.5}
.journey-num{display:inline-grid;place-items:center;width:32px;height:32px;border-radius:50%;background:var(--navy);color:#fff;font-weight:800;margin-bottom:4px}
@media(max-width:900px){.journey-grid{grid-template-columns:1fr 1fr}}
@media(max-width:560px){.journey-grid{grid-template-columns:1fr}}

/* Header on very small phones (340px and under): slightly smaller name so the buttons fit (Oct 2026) */
@media(max-width:340px){html body .nav{gap:10px}html body .brand span{font-size:20px}}

.tagline{font:600 21px/1.4 Georgia,serif;text-wrap:balance;color:var(--gold-dark);margin:-6px 0 18px}html body .tagline{font-size:23px}@media(max-width:560px){html body .tagline{font-size:19px}}
.process-help{text-align:center;margin:26px auto 0;max-width:700px;color:var(--muted)}

/* Audit fixes 12 Oct: delivery table hint, bigger footer links on phones */
.swipe-hint{display:none;margin:10px 0 0}
@media(max-width:700px){.swipe-hint{display:block}.cmp th:first-child,.cmp td:first-child{position:sticky;left:0;background:#fff;z-index:1;min-width:120px}}
@media(max-width:900px){.footer-links{gap:4px 14px}.footer-links a{display:inline-block;padding:10px 2px}}

/* Why families choose SilverFrame (Home) */
.why-list{list-style:none;padding:0;margin:0 auto;max-width:980px;display:grid;grid-template-columns:1fr 1fr;gap:16px 32px}
.why-list li{position:relative;padding-left:30px;font-size:18px;line-height:1.5;color:#3f515e}
.why-list li::before{content:"✓";position:absolute;left:0;top:0;color:var(--green);font-weight:900}
.why-list strong{color:var(--navy)}
.why-list a{text-decoration:underline;color:var(--gold-dark);font-weight:700}
@media(max-width:760px){.why-list{grid-template-columns:1fr}}
/* Klarna risk warning, shown next to any Klarna mention */
.klarna-note{display:block;font-size:16px;color:#4c5d69;margin-top:4px}
/* How our scanning works (Prices) */
.how-scan{max-width:760px;margin:22px auto 0;background:#fff;border:1px solid var(--line);border-radius:18px;padding:20px 24px}
.how-scan h3{font-size:22px;margin:0 0 8px}
.how-scan p{font-size:17px;color:#3f515e;margin:0 0 10px}
.how-scan p:last-child{margin-bottom:0}
/* TIFF and RAW choices (calculator and order form) */
.sub-choice{margin:6px 0 4px 34px;display:flex;flex-direction:column;gap:6px}
.sub-choice label{font-weight:400;color:var(--ink);display:flex;gap:8px;align-items:flex-start;margin:0;font-size:17px}
.sub-choice input{width:auto;margin-top:5px}
.sub-choice[hidden]{display:none}

/* VHS link in the top menu: only on wide screens, so the header still fits (always in the phone menu) */
.navlinks a.nav-vhs{display:none}
@media(min-width:1320px){.navlinks a.nav-vhs{display:inline}}

/* ===== 16 Oct restructure: warm archival styling, new menu, new home page, new footer ===== */
:root{--paper:#fbf8f2;--cream:#f4eee4;--soft:#f3efe7}
html body{background:var(--paper);font-size:18px}
.header{background:#fffdf9}
.mobile-menu{background:#fffdf9}
.card{background:#fffefb}
h1,h2,.brand,.page-h1{font-family:Georgia,"Times New Roman",serif}

/* Menu: "What we scan" drop-down */
.navlinks{gap:20px;font-size:16px}
.nav-drop{position:relative}
.nav-drop summary{list-style:none;cursor:pointer;display:flex;align-items:center;gap:6px}
.nav-drop summary::-webkit-details-marker{display:none}
.nav-drop summary::after{content:"";width:7px;height:7px;border-right:2px solid currentColor;border-bottom:2px solid currentColor;transform:rotate(45deg) translateY(-2px)}
.nav-drop summary:hover{color:var(--gold-dark)}
.nav-drop-menu{position:absolute;top:calc(100% + 14px);left:-14px;min-width:220px;background:#fffdf9;border:1px solid var(--line);border-radius:14px;box-shadow:var(--shadow);padding:8px;display:flex;flex-direction:column;z-index:60}
.nav-drop-menu a{padding:10px 12px;border-radius:9px;font-size:16px}
.nav-drop-menu a:hover{background:var(--cream);color:var(--gold-dark)}
.navlinks a[aria-current="page"]{color:var(--gold-dark)}
html body .nav .icon-btn.wa-labelled{padding:10px 14px}
html body .nav .icon-btn.wa-labelled .wa-word{display:inline;font-size:15px}
.mobile-menu .mm-head{padding:14px 4px 4px;font-size:14px;font-weight:800;text-transform:uppercase;letter-spacing:.07em;color:var(--gold-dark)}
.mobile-menu a.mm-sub{padding-left:18px;font-weight:600}
@media(max-width:560px){html body .nav .icon-btn.wa-labelled{padding:9px 12px}html body .nav .icon-btn.wa-labelled .wa-word{font-size:14px}}
@media(max-width:560px){html body .nav .icon-btn.call{display:none}}

/* Home hero */
.hero2{background:linear-gradient(180deg,#f6f0e6,var(--paper))}
.hero2 h1{font-size:clamp(38px,5.4vw,62px);line-height:1.08}
.hero2 p.hero-sub,html body .hero-sub{font:700 clamp(24px,3vw,32px)/1.25 Georgia,"Times New Roman",serif;color:var(--gold-dark);margin:0 0 18px}
.hero2 .hero-ticks{margin:0 0 24px}
html body .hero2 .hero-ticks{margin-left:0;margin-right:0}
.btn-big{font-size:19px;padding:17px 30px}
.hero-quiet{font-size:17px;color:var(--muted);max-width:560px;margin:18px 0 0}
.hero-quiet a{color:var(--navy);text-decoration:underline;font-weight:700}
.hero2 .hero-grid:has(#examples[hidden]){grid-template-columns:1fr}
.hero2 .hero-grid:has(#examples[hidden]) > div:first-child{max-width:820px}
.hero-ba figcaption{font-size:15px;color:var(--muted);margin-top:10px;text-align:center}
.hero-ba .ba-frame{border:10px solid #fff;box-shadow:0 18px 34px rgba(16,43,63,.14)}
@media(max-width:900px){.hero2 .hero-grid{grid-template-columns:1fr}}
@media(max-width:560px){.hero2 h1{font-size:34px}.hero-sub{font-size:23px}.btn-big{width:100%}}

/* Home: What we scan */
.svc2 .svc-card{display:flex;flex-direction:column;align-items:center;text-align:center;gap:4px;transition:border-color .15s}
.svc2 .svc-card:hover{border-color:var(--gold-dark)}
.svc2 .svc-card h3{font-size:22px}
.svc2 .price{font-size:26px;margin:6px 0 0}
.svc2 .card-more{margin-top:auto;padding-top:12px}
.svc-soon{text-align:center;margin-top:18px}
.svc-soon a{text-decoration:underline;color:var(--gold-dark);font-weight:700}
@media(max-width:560px){.svc2 .svc-card h3{font-size:17px}.svc2 .price{font-size:18px!important}}

/* Home: steps, studio, why */
.steps-home .step{background:#fffefb;border:1px solid var(--line);border-radius:18px;padding:24px 20px;text-align:center}
.steps-home .num{margin:0 auto 12px}
.steps-home .step h3{font-size:21px}
.steps-home .step p{font-size:17px;color:#3f515e}
.steps-home .step a{text-decoration:underline;color:var(--navy);font-weight:700}
.process-video{max-width:820px;margin:26px auto 0}.process-video video{width:100%;border-radius:16px}
.process-video[hidden]{display:none}
.about-h{font-size:clamp(26px,3.4vw,32px);line-height:1.2}
.why6{max-width:900px}

/* Before-and-after on service pages */
.svc-ba{max-width:760px;margin:0 auto}
.svc-ba figcaption{font-size:15px;color:var(--muted);margin-top:10px;text-align:center}

/* Footer */
footer .foot2{display:grid;grid-template-columns:1.4fr 1fr 1fr;gap:30px 40px;align-items:start}
.foot2 .foot-col{display:flex;flex-direction:column;gap:6px}
.foot2 p{margin:0 0 10px;font-size:15px;line-height:1.55}
.foot2 a{text-decoration:underline}
.foot2 .foot-col > a{text-decoration:none;font-size:15px}
.foot2 .foot-col > a:hover{text-decoration:underline;color:#fff}
.foot-brand{font:700 24px Georgia,serif;color:#fff}
.foot-tag{font-style:italic;color:#e7d9c9}
.foot-h{color:#fff;font-size:15px;margin:6px 0 2px}
.foot-hours span{display:block;margin-top:6px;color:#aebcc6}
.remind-form{display:flex;flex-direction:column;gap:10px}
.remind-form input{background:#fff}
.foot-legal{grid-column:1/-1;border-top:1px solid rgba(255,255,255,.15);padding-top:16px;font-size:14px;color:#aebcc6}
@media(max-width:860px){footer .foot2{grid-template-columns:1fr}}

html body footer .foot2,html body footer .foot2 p{text-align:left}
html body footer .foot2 .foot-col{align-items:flex-start}
.price-nothing{text-align:center;font:700 clamp(21px,2.6vw,26px)/1.3 Georgia,serif;color:var(--gold-dark);margin:0 0 22px}
.svc-price-line{font-size:18px;color:var(--navy);margin:0 0 18px}
html body .hero2 p.hero-sub{font-size:clamp(24px,3vw,32px)!important}@media(max-width:560px){html body .hero2 p.hero-sub{font-size:23px!important}}
html body #home p.hero-sub{font-size:clamp(24px,3vw,32px)!important}@media(max-width:560px){html body #home p.hero-sub{font-size:23px!important}}

/* Video first (16 Oct v7) */
html body #home p.hero-line2{font-size:clamp(20px,2.4vw,24px)!important;color:var(--navy);margin:-6px 0 14px;font-weight:600}
.hero2 .hero-grid:has(#heroPic[hidden]){grid-template-columns:1fr}
.hero2 .hero-grid:has(#heroPic[hidden]) > div:first-child{max-width:860px}
.hero-pic{margin:0}.hero-pic img{width:100%;display:block;border-radius:18px;border:10px solid #fff;box-shadow:0 18px 34px rgba(16,43,63,.14)}
.hero-pic[hidden],.img-slot[hidden]{display:none!important}
html body .svc2 p.svc-blurb{font-size:15px!important;color:var(--muted);margin:8px 0 0}
.card-ba{display:grid;grid-template-columns:1fr 1fr;gap:4px;margin-top:10px;width:100%}
.card-ba img{width:100%;aspect-ratio:4/3;object-fit:cover;border-radius:6px}
.card-ba span{grid-column:1/-1;font-size:13px;color:var(--muted)}
@media(max-width:560px){html body .svc2 p.svc-blurb{display:none}}
.sample-clip{width:100%;max-width:760px;border-radius:16px;display:block;background:#000}
#sample[hidden]{display:none}
.tape-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:16px;margin:10px 0 14px}
.tape-card h3{font-size:20px}.tape-card p{font-size:16px!important}
.tape-yes,.tape-soon,.tape-no{display:inline-block;font-weight:800;font-size:15px;border-radius:999px;padding:5px 12px}
.tape-yes{background:#e7f3ec;color:#1f6b45}.tape-soon{background:#f7efda;color:var(--gold-dark)}.tape-soon a{text-decoration:underline}.tape-no{background:#eef1f3;color:var(--muted)}
@media(max-width:900px){.tape-grid{grid-template-columns:1fr 1fr}}
@media(max-width:560px){.tape-grid{grid-template-columns:1fr}}
@media(max-width:1500px){html body .nav .icon-btn.call .lbl{display:none}html body .nav .icon-btn.call{padding:10px 12px}}
@media(max-width:1350px){html body .navlinks{display:none}html body .nav .menu-btn{display:inline-flex}}
/* 23 Oct: header was wider than the page container between 1500 and 1700px, so Start my order ran off the edge */
html body header .container.nav{width:min(1400px,94%)}
/* 23 Oct: bullet points are never centred; short bullet lists sit as a block in the middle with their text left-aligned (numbered step cards and the small For example lines keep their own layout) */
html body main :is(ul,ol):not(.pack-steps):not(.eg-list) > li{text-align:left!important}html body main :is(ul.svc-extras:not(.eg-list),ul.result-notes,.faq ul){width:fit-content;max-width:100%;margin-left:auto;margin-right:auto;text-align:left}
/* 23 Oct: the intro under each page heading sits in the middle, under the centred heading (it was pushed to the left on the service pages and Our studio) */
html body main .page-h1 + p.lead,html body main p.count-line{margin-left:auto;margin-right:auto}
.wedding-only[hidden]{display:none!important}
#other-video .band-table td:first-child{font-weight:400;font-size:16px;line-height:1.5}#other-video .band-table td:last-child{font-weight:800;white-space:nowrap;vertical-align:top}
#other-video .band-table td:first-child{width:70%}@media(max-width:560px){#other-video .band-table td:last-child{white-space:normal}#other-video .band-table td:first-child{width:65%}}

/* 20 Oct: four hero ticks */
.hero-ticks.hero-ticks4 li{white-space:normal}

/* 20 Oct: home service cards, keep the price on one line and the four cards level */
.svc-card .price{font-size:23px;white-space:nowrap;margin-top:10px}
.svc-card .small{margin:2px 0 0}
@media (max-width:1100px){.svc-card .price{white-space:normal}}

/* 20 Oct: centre "How our scanning works" on Prices */
.how-scan,.how-scan h3,.how-scan p{text-align:center}
.how-scan p{margin-left:auto;margin-right:auto;max-width:720px}

/* 20 Oct: centre the Duplicates box on Prices; the two examples stay left-aligned as a list */
.dup-box,.dup-box p,.dup-box h2{text-align:center}
.dup-box .ticks{width:fit-content;max-width:100%;margin-left:auto;margin-right:auto;text-align:left}

/* 20 Oct: extras split into short grouped tables */
.xp-grid{display:grid;grid-template-columns:1fr 1fr;gap:18px;max-width:1040px;margin:0 auto;align-items:start}
.xp-grid .other-prices{max-width:none;margin:0}
.xp td strong{display:block;font-weight:700;color:var(--navy)}
.xp-note{display:block;font-size:16px;color:var(--muted);margin-top:2px;line-height:1.4}
.xp td:last-child{font-size:16px}
@media (max-width:760px){.xp-grid{grid-template-columns:1fr}}
.xp td:first-child{width:64%}
.xp td:last-child{width:36%;white-space:normal}

/* 20 Oct: footer tidy, three columns (reminder box removed) */
@media (min-width:900px){footer .foot2{grid-template-columns:1.3fr 1.1fr .8fr .8fr;gap:34px 40px}}
.foot2 .foot-col > a{padding:1px 0}
.remind-row{display:flex;gap:8px;align-items:stretch}
.remind-row input{flex:1;min-width:0}
.remind-row .btn{white-space:nowrap;padding-left:18px;padding-right:18px}
@media (max-width:420px){.remind-row{flex-direction:column}}

/* 20 Oct: Video tapes page, centred "Which tape" and prices sections */
.svc-body.centred,.svc-body.centred h2,.svc-body.centred p{text-align:center}
.svc-body.centred .tape-card{text-align:center}
.svc-body.centred .price-wrap{max-width:640px;margin:0 auto}
.svc-body.centred .table-wrap{margin:0 auto 14px}
@media (min-width:900px){#which-tape .tape-grid{grid-template-columns:repeat(3,1fr);max-width:980px;margin-left:auto;margin-right:auto}}
.svc-body.centred .svc-cta{justify-content:center}
#tape-prices .band-table td:not(:first-child),#tape-prices .band-table th:not(:first-child){text-align:right}

/* 20 Oct: every heading centred (Dee) */
main h1,main h2,main h3,main h4,main .kicker,main .section-head p,main .eyebrow{text-align:center}
main .section-head{text-align:center}
.hero h1,.hero .eyebrow,.hero-sub,.hero .lead{text-align:center}
.hero-ticks{margin-left:auto;margin-right:auto}
.hero .svc-cta,.svc-hero .svc-cta,.hero-cta{justify-content:center}
.svc-hero .crumbs,.svc-hero .lead{text-align:center}
.order-card h3,.term h3,.card h3,.feature h3,.step h3{text-align:center}
.hero2 .hero-grid:has(#heroPic[hidden]){grid-template-columns:1fr}
.hero2 .hero-grid>div:first-child{text-align:center}
.hero2 .hero-line2{text-align:center}
.hero2 .hero-ticks{margin-left:auto;margin-right:auto}
.hero-actions{display:flex;justify-content:center;gap:12px;flex-wrap:wrap}
.hero2 .hero-ticks,.hero2 .hero-ticks.hero-ticks4{width:fit-content!important;max-width:100%;margin-left:auto!important;margin-right:auto!important}

/* 20 Oct: one simple layout for the scanning pages */
.svc-tiles{display:grid;grid-template-columns:repeat(3,1fr);gap:16px;margin-top:8px;max-width:1000px;margin-left:auto;margin-right:auto}
.svc-tile{text-align:center;padding:22px 18px}
.svc-tile h3{font-size:19px;margin:0 0 8px}
.svc-tile p{font-size:16px;color:#3f515e;margin:0;line-height:1.5}
.svc-extras{list-style:none;padding:0;margin:14px auto 0;max-width:640px;text-align:center}
.svc-extras li{font-size:16px;color:#3f515e;padding:6px 0;border-top:1px solid #edf0f2}
.svc-extras li:first-child{border-top:0}
.svc-extras strong{color:var(--navy)}
.svc-body.centred .svc-faq{max-width:760px;margin:0 auto;text-align:left}
.svc-body.centred .svc-faq summary{text-align:left}
.svc-body.centred .svc-faq p{text-align:left}
.svc-body.centred > p{max-width:720px;margin-left:auto;margin-right:auto}
@media (max-width:980px){.svc-tiles{grid-template-columns:1fr 1fr}}
@media (max-width:560px){.svc-tiles{grid-template-columns:1fr}}

/* 20 Oct: footer tidy, brand / get in touch / what we scan / useful links */
.foot-line{font-size:15px;color:#d5dee5;line-height:1.5}
.foot-h2{margin-top:14px}
.foot-main .foot-tag{margin-top:8px;max-width:30ch}
.foot2 .foot-col > a{line-height:1.5}
@media(max-width:860px){footer .foot2{gap:26px 24px}}
@media(min-width:600px) and (max-width:860px){footer .foot2{grid-template-columns:1fr 1fr}}

/* 20 Oct: copyright line centred */
html body footer .foot2 .foot-legal{text-align:center}

/* 20 Oct: Why families choose, photos left and tapes right */
.why-cols{display:grid;grid-template-columns:1fr 1fr;gap:16px 32px;max-width:900px;margin:0 auto}
.why-cols .why-list{grid-template-columns:1fr;max-width:none;margin:0;align-content:start}
@media(max-width:760px){.why-cols{grid-template-columns:1fr}}

/* 20 Oct (Dee 19:15): big hero button and See prices link */
.hero2 .hero-btn{font-size:21px;padding:18px 40px}
.hero2 .hero-prices{text-align:center;margin:14px 0 0;font-size:18px}
html body .hero2 .eyebrow{text-align:center}

/* 20 Oct (Dee 19:23): four tape cards incl. MiniDV coming soon, photo slots, price and button under intro */
@media (min-width:900px){#which-tape .tape-grid{grid-template-columns:repeat(4,1fr);max-width:1060px}}
.tape-photo{display:block;width:100%;max-height:150px;object-fit:cover;border-radius:12px;margin:0 0 12px}
.tape-no{text-decoration:none}
.svc-hero .hero-price{text-align:center;font-size:22px;color:var(--navy);margin:18px 0 12px}
.svc-hero .hero-actions{justify-content:center;margin:0}
.svc-hero .hero-btn{font-size:20px;padding:16px 36px}
.tape-card{padding:22px 16px}.tape-card .tape-no{font-size:14px;padding:5px 10px}

/* 20 Oct: tape prices sit straight under the intro */
.svc-hero + #tape-prices{padding-top:0}

/* 20 Oct: scanning page prices sit straight under the intro */
.svc-hero + #prices{padding-top:0}
/* 21 Oct: phone header, WhatsApp icon only so the header never overflows */
@media(max-width:560px){html body .nav{gap:12px}html body .nav-right{gap:8px}html body .nav .icon-btn.wa-labelled{padding:10px 11px}html body .nav .icon-btn.wa-labelled .wa-word{display:none}html body .nav .icon-btn.wa-labelled svg{width:22px;height:22px}}

/* 29 Oct (Dee): phone number back in the header. The number shows on laptops, and a phone button on mobiles */
@media(min-width:1101px) and (max-width:1350px){html body .nav .icon-btn.call .lbl{display:inline}}
@media(max-width:560px){html body .nav .icon-btn.call{display:inline-flex}html body .nav .icon-btn.call svg{width:22px;height:22px}}

/* 29 Oct audit fixes: one heading and button scale, clear keyboard focus, bigger tap areas in the footer and breadcrumb, 16px minimum for reading text */
html body main h2{font-size:28px!important}
html body main h3{font-size:21px!important}
@media(min-width:901px){html body main h2{font-size:34px!important}html body main h3{font-size:22px!important}}
html body .quick-links a{display:inline-block;padding:12px 8px}
html body main section:not([class*="hero"]) .btn.primary{font-size:18px}
html body :focus-visible{outline:3px solid #A83A24;outline-offset:3px}
html{scroll-padding-top:120px;scroll-padding-bottom:100px}
html body .foot2 .foot-col > a{display:block;padding:10px 0;font-size:16px}
html body .foot2 .foot-line,html body .foot2 .foot-h{font-size:16px}
html body .crumbs{font-size:16px}
html body .crumbs a{display:inline-block;padding:12px 4px}
html body .kicker{font-size:15px}
html body .xp-note,html body .post-card em,html body .post-to span{font-size:16px}
html body .calc2-result .skip-calc a{color:#fff}
.skip-link{position:absolute;left:12px;top:-60px;z-index:100;background:#153446;color:#fff;padding:12px 18px;border-radius:0 0 10px 10px;font-weight:700}
.skip-link:focus{top:0}
