@import url('https://fonts.googleapis.com/css2?family=DM+Sans:wght@400;500;600;700&family=Playfair+Display:wght@600;700;800&display=swap');
:root{--navy:#071a33;--navy2:#102c4d;--gold:#c88a24;--gold2:#f3c66c;--cream:#fbf8f1;--ink:#18263b;--muted:#596a7e;--line:#dce4ec;--white:#fff;--shadow:0 20px 55px #071a3314}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;font-family:'DM Sans',Arial,sans-serif;color:var(--ink);background:#fff;line-height:1.65}a{color:inherit}img{max-width:100%}.site-header{position:sticky;top:0;z-index:20;background:#ffffffef;backdrop-filter:blur(14px);border-bottom:1px solid #dce4ec}.nav-wrap{max-width:1360px;margin:auto;display:flex;align-items:center;justify-content:space-between;gap:20px;padding:12px 28px}.brand{display:flex;align-items:center;gap:10px;text-decoration:none;min-width:220px}.brand-logo{width:50px;height:50px;object-fit:contain}.brand-name{font-family:'Playfair Display',serif;font-size:1.35rem;font-weight:800;line-height:1.1;color:var(--navy)}.brand-name small{display:block;font:500 .66rem 'DM Sans',sans-serif;color:var(--muted);margin-top:4px}nav{display:flex;align-items:center;justify-content:center;gap:clamp(8px,1.3vw,20px);flex-wrap:wrap}nav a{text-decoration:none;font-size:.82rem;font-weight:700;color:var(--navy);padding:8px 0}nav a:hover{color:var(--gold)}.nav-wa,.btn{display:inline-flex;align-items:center;justify-content:center;gap:9px;text-decoration:none;border:0;border-radius:12px;padding:13px 20px;font-weight:800;cursor:pointer}.nav-wa,.btn.gold{background:linear-gradient(135deg,var(--gold2),var(--gold));color:#17233a;box-shadow:0 8px 20px #c88a2429}.btn.outline{border:1px solid #ffffffa8;color:#fff;background:#ffffff0b}.btn.navy{background:var(--navy);color:white}.container{max-width:1300px;margin:auto;padding-left:26px;padding-right:26px}.hero{position:relative;overflow:hidden;background:radial-gradient(ellipse at 78% 22%,#c88a2445 0,transparent 28%),radial-gradient(ellipse at 95% 95%,#1b476d 0,transparent 42%),linear-gradient(110deg,#06152c 0%,#0a2340 60%,#102c4d 100%);color:white;min-height:520px;display:flex;align-items:center}.hero-inner{width:100%;max-width:1300px;margin:auto;padding:76px 28px 70px;display:grid;grid-template-columns:minmax(0,1.2fr) minmax(240px,.6fr);gap:35px;align-items:center}.eyebrow{text-transform:uppercase;letter-spacing:.16em;font-size:.76rem;font-weight:800;color:var(--gold2)}h1,h2,h3{line-height:1.15;color:var(--navy);margin-top:0}h1,h2{font-family:'Playfair Display',Georgia,serif}h1{font-size:clamp(2.6rem,5.3vw,4.8rem);letter-spacing:-.035em;margin:12px 0 18px}h2{font-size:clamp(1.9rem,3.4vw,3rem)}h3{font-size:1.15rem}.hero h1{color:white;max-width:850px}.hero h1 em{font-style:normal;color:var(--gold2)}.lead{font-size:1.12rem;max-width:780px;color:var(--muted)}.hero .lead{color:#e5edf6;max-width:760px}.actions{display:flex;gap:12px;flex-wrap:wrap;margin-top:26px}.hero-side{display:grid;gap:12px}.hero-chip{border:1px solid #ffffff55;background:#06172dbb;backdrop-filter:blur(10px);border-radius:16px;padding:17px 18px;box-shadow:0 12px 32px #0002}.hero-chip strong{display:block;color:#fff}.hero-chip span{color:#d9e3f0;font-size:.9rem}.trust-strip{background:#f8fafc;border-bottom:1px solid var(--line)}.trust-inner{max-width:1300px;margin:auto;padding:18px 26px;display:grid;grid-template-columns:repeat(5,1fr);gap:14px}.trust-item{display:flex;gap:12px;align-items:center;padding:4px 12px;border-right:1px solid var(--line)}.trust-item:last-child{border:0}.trust-icon{font-size:1.5rem;color:var(--gold)}.trust-item strong{display:block;font-size:.88rem;color:var(--navy)}.trust-item span:last-child{font-size:.76rem;color:var(--muted)}.section{padding-top:76px;padding-bottom:76px}.section-head{text-align:center;max-width:850px;margin:0 auto 34px}.section-head p{color:var(--muted)}.cards{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:18px}.card,.info-card,.price-card{background:white;border:1px solid var(--line);border-radius:18px;box-shadow:var(--shadow);overflow:hidden}.card{padding:24px;transition:transform .2s,box-shadow .2s}.card:hover{transform:translateY(-4px);box-shadow:0 22px 45px #071a331b}.card p,.info-card p,.price-card p{color:var(--muted)}.card .num{font-size:.75rem;color:var(--gold);font-weight:900;letter-spacing:.12em}.card-link{color:#8b5a0a;font-weight:800;text-decoration:none}.split{display:grid;grid-template-columns:1fr 1fr;gap:35px;align-items:center}.visual{border-radius:24px;overflow:hidden;box-shadow:var(--shadow);border:1px solid var(--line)}.visual img{display:block;width:100%;height:auto}.soft{background:var(--cream)}.callout{border-radius:22px;background:linear-gradient(115deg,var(--navy),var(--navy2));padding:36px;color:white;display:flex;justify-content:space-between;gap:24px;align-items:center}.callout h2{color:white;margin-bottom:10px}.callout p{color:#d9e3ef;margin:0}.page-hero{background:linear-gradient(135deg,#f8f4e9,#eaf1f7);padding:64px 26px 52px}.page-hero .container{max-width:1248px}.page-hero h1{font-size:clamp(2.3rem,4.5vw,4rem)}.content{max-width:1200px;margin:auto;padding:48px 26px 80px}.prose{max-width:900px}.pricing-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:20px}.price-card{padding:30px}.price{font-size:2.4rem;font-weight:900;color:var(--navy);font-family:'Playfair Display',serif}.price-card ul{padding-left:20px;color:var(--muted)}.price-card li{margin:8px 0}.price-card.featured{border:2px solid var(--gold);transform:translateY(-6px)}.services-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px}.service-point{padding:20px;border:1px solid var(--line);border-radius:16px;background:#fff;box-shadow:0 8px 25px #071a3309}.service-point h3{font-size:1.02rem;margin-bottom:8px}.service-point p{font-size:.91rem;color:var(--muted);margin:0}.category-title{margin:42px 0 18px;border-bottom:1px solid var(--line);padding-bottom:10px}.contact-layout{display:grid;grid-template-columns:.7fr 1.3fr;gap:26px;align-items:start}.contact-aside{background:var(--navy);color:#fff;border-radius:20px;padding:28px}.contact-aside h2,.contact-aside h3{color:white}.contact-aside p,.contact-aside li{color:#dce6f1}.enquiry-form{background:#fff;border:1px solid var(--line);border-radius:20px;padding:28px;box-shadow:var(--shadow);display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:0 16px}.enquiry-form>label,.enquiry-form .full{grid-column:1/-1}label{display:block;font-size:.87rem;font-weight:750;color:var(--navy);margin-bottom:15px}input,select,textarea{display:block;width:100%;margin-top:7px;padding:12px 13px;border:1px solid #ccd7e2;border-radius:10px;font:inherit;background:#fff;color:var(--ink)}input:focus,select:focus,textarea:focus{outline:2px solid #c88a2455;border-color:var(--gold)}.consent{display:flex;gap:10px;align-items:flex-start;font-weight:500;color:var(--muted)}.consent input{width:auto;margin-top:5px}.form-status{grid-column:1/-1;font-weight:800}.fineprint{font-size:.82rem;color:var(--muted)}.testimonials-note{border:1px solid var(--line);border-left:4px solid var(--gold);background:var(--cream);border-radius:12px;padding:22px}.site-footer{background:#06162d;color:#e6edf5;padding:54px 26px 22px;border-top:4px solid var(--gold)}.footer-inner{max-width:1300px;margin:auto}.footer-top{display:grid;grid-template-columns:1.5fr 1fr 1fr 1fr;gap:30px}.footer-brand{font-family:'Playfair Display',serif;font-size:1.4rem;font-weight:800;color:#fff}.site-footer p,.site-footer a{color:#c1cedd;font-size:.88rem}.site-footer h3{color:white;font-family:'DM Sans',sans-serif;font-size:.84rem;text-transform:uppercase;letter-spacing:.1em}.footer-links{display:grid;gap:9px}.footer-links a{text-decoration:none}.footer-links a:hover{color:var(--gold2)}.footer-bottom{border-top:1px solid #ffffff24;margin-top:32px;padding-top:18px;display:flex;justify-content:space-between;gap:15px;flex-wrap:wrap;font-size:.78rem;color:#b9c6d6}.floating-actions{position:fixed;right:20px;bottom:20px;z-index:30;display:flex;flex-direction:column;gap:10px}.floating-actions a{border-radius:999px;padding:12px 18px;text-decoration:none;font-weight:800;box-shadow:0 12px 32px #06162d30}.float-wa{background:#0c9d57;color:#fff}.float-enq{background:var(--gold);color:#10213a}.badge{display:inline-flex;border-radius:999px;background:#f7edd9;color:#80550d;padding:5px 10px;font-size:.75rem;font-weight:800}.form-honeypot{position:absolute!important;left:-10000px!important;top:auto!important;width:1px!important;height:1px!important;overflow:hidden!important}.modal-backdrop,.cookie-banner{display:none}.success{color:#0c7b47}.error{color:#a32c2c}@media(max-width:1050px){.nav-wrap{flex-wrap:wrap}.brand{min-width:180px}nav{order:3;width:100%;justify-content:flex-start;overflow-x:auto;flex-wrap:nowrap;padding:8px 0}nav a{white-space:nowrap}.cards{grid-template-columns:repeat(2,minmax(0,1fr))}.services-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.trust-inner{grid-template-columns:repeat(3,1fr)}.trust-item:nth-child(3){border:0}.hero-inner{grid-template-columns:1fr .6fr}}@media(max-width:700px){.nav-wrap{padding:10px 16px}.brand-logo{width:42px;height:42px}.brand-name{font-size:1.15rem}.nav-wa{margin-left:auto;padding:10px 13px;font-size:.8rem}.hero-inner{grid-template-columns:1fr;padding:52px 22px}.hero-side{grid-template-columns:1fr}.hero{min-height:0}.trust-inner{grid-template-columns:1fr 1fr}.trust-item{border:0;padding:5px}.cards,.services-grid,.pricing-grid,.split,.contact-layout{grid-template-columns:1fr}.section{padding-top:52px;padding-bottom:52px}.content{padding:34px 18px 56px}.page-hero{padding:44px 18px 34px}.enquiry-form{grid-template-columns:1fr;padding:20px}.enquiry-form>label{grid-column:1}.callout{align-items:flex-start;flex-direction:column;padding:26px}.footer-top{grid-template-columns:1fr 1fr}.footer-top>div:first-child{grid-column:1/-1}.floating-actions{right:10px;bottom:10px}.floating-actions a{font-size:.8rem;padding:10px 13px}}@media(prefers-reduced-motion:reduce){*{scroll-behavior:auto!important;transition:none!important}}

/* v0.5 consolidated repair */
.nav-wrap{gap:14px;padding:12px 22px}.brand{min-width:190px;flex:0 0 auto}.brand-logo{width:42px;height:42px}.brand-name{font-size:1.18rem}nav{flex:1;gap:clamp(8px,1vw,15px);flex-wrap:nowrap;min-width:0}nav a{white-space:nowrap;font-size:.78rem}.nav-wa{white-space:nowrap;padding:11px 14px;font-size:.82rem}.page-visual{max-width:780px;margin:26px auto 0;border-radius:22px;overflow:hidden;border:1px solid var(--line);box-shadow:var(--shadow);background:#f7f4ee}.page-visual img{display:block;width:100%;max-height:380px;object-fit:cover}.brand-visual{max-width:780px;margin:24px auto 0}.brand-visual img{display:block;width:100%;max-height:360px;object-fit:cover}.footer-contact{border-top:1px solid #ffffff24;padding-top:18px;margin-top:22px;color:#c1cedd;font-size:.9rem}.footer-contact a{color:#f2d49a}.enquiry-form{gap:0 18px}.enquiry-form label{line-height:1.45}.enquiry-form input,.enquiry-form select,.enquiry-form textarea{min-height:46px}.enquiry-form textarea{min-height:130px}.form-status{padding:0;margin:12px 0;overflow-wrap:anywhere}.form-status.success,.form-status.error{padding:12px 14px;border-radius:10px;background:#f4f7f4}.form-status.error{background:#fff0ef}.floating-actions{bottom:max(16px,env(safe-area-inset-bottom));right:max(16px,env(safe-area-inset-right))}@media(max-width:1120px){.nav-wrap{flex-wrap:wrap}.brand{min-width:0}.nav-wa{margin-left:auto}nav{order:3;flex-basis:100%;width:100%;overflow-x:auto;justify-content:flex-start;padding:6px 0 8px}.nav-wrap nav a{font-size:.82rem}}@media(max-width:700px){.brand-logo{width:38px;height:38px}.brand-name{font-size:1.06rem}.brand-name small{font-size:.6rem}.nav-wa{padding:9px 11px}.page-visual img,.brand-visual img{max-height:250px}.footer-contact{line-height:1.9}.floating-actions{max-width:calc(100vw - 20px)}.floating-actions a{white-space:nowrap}}

/* v0.6 visual cleanup: remove generic illustration panels; use restrained editorial page headers. */
.page-hero{position:relative;overflow:hidden;background:radial-gradient(ellipse at 92% 12%,#c88a2420 0,transparent 27%),linear-gradient(135deg,#fbf8f1 0%,#edf2f5 100%);border-bottom:1px solid var(--line)}.page-hero:after{content:'';position:absolute;right:-80px;bottom:-130px;width:340px;height:340px;border:1px solid #c88a2444;border-radius:50%;box-shadow:0 0 0 28px #c88a2408,0 0 0 56px #c88a2405;pointer-events:none}.page-hero .container,.page-hero>.eyebrow,.page-hero>h1,.page-hero>.lead{position:relative;z-index:1}.page-visual,.brand-visual{display:none!important}.hero:after{content:'';position:absolute;right:5%;top:10%;width:260px;height:260px;border:1px solid #f3c66c55;border-radius:50%;box-shadow:0 0 0 26px #f3c66c0d,0 0 0 52px #f3c66c08;pointer-events:none}.hero-inner{position:relative;z-index:1}

.process-panel{background:linear-gradient(145deg,#071a33,#163b5a);border:1px solid #c88a2455;border-radius:24px;padding:28px;color:white;box-shadow:var(--shadow);display:grid;gap:14px;position:relative;overflow:hidden}.process-panel:after{content:'';position:absolute;width:230px;height:230px;border:1px solid #f3c66c55;border-radius:50%;right:-80px;top:-80px;box-shadow:0 0 0 22px #f3c66c0c,0 0 0 44px #f3c66c08}.process-panel>div{display:grid;grid-template-columns:44px 1fr;column-gap:12px;position:relative;z-index:1;padding:10px 0;border-bottom:1px solid #ffffff24}.process-panel>div:last-child{border-bottom:0}.process-panel span{grid-row:span 2;display:grid;place-items:center;width:38px;height:38px;border-radius:50%;background:linear-gradient(135deg,var(--gold2),var(--gold));color:var(--navy);font-weight:900}.process-panel strong{color:#fff}.process-panel p{margin:3px 0 0;color:#dce6f1;font-size:.9rem}.split{align-items:stretch}

/* Editorial alignment, policy readability and service enquiry dialog */
.prose h2,.content>h2{margin-top:34px;margin-bottom:14px}.prose p,.content p{max-width:82ch}.info-card{padding:25px}.info-card h3{margin-bottom:12px}.timeline{max-width:1000px}.timeline-item{display:grid;grid-template-columns:58px 1fr;gap:18px;padding:24px 0;border-bottom:1px solid var(--line)}.timeline-item>span{display:grid;place-items:center;width:48px;height:48px;border-radius:50%;background:var(--navy);color:var(--gold2);font-weight:900}.timeline-item h2{font-size:1.5rem;margin:4px 0 10px}.timeline-item p{margin:0;color:var(--muted)}.faq-list{max-width:1000px}.faq-list details{padding:20px 22px;border:1px solid var(--line);border-radius:14px;margin:0 0 14px;background:#fff;box-shadow:0 6px 20px #071a3308}.faq-list summary{cursor:pointer;font-weight:800;color:var(--navy);font-size:1.04rem}.faq-list details p{margin-bottom:0;color:var(--muted)}.policy-list{padding-left:25px}.policy-list li{padding:13px 16px;margin:0 0 12px;background:#fff;border:1px solid var(--line);border-radius:12px;line-height:1.8}.service-trigger{font:inherit;text-align:left;color:var(--ink);cursor:pointer;width:100%;display:block;transition:transform .18s,box-shadow .18s}.service-trigger:hover,.service-trigger:focus-visible{transform:translateY(-3px);box-shadow:0 14px 30px #071a3315;outline:2px solid #c88a2455}.service-modal{display:none;position:fixed;inset:0;z-index:100;background:#06162dd9;padding:24px;overflow:auto;align-items:flex-start;justify-content:center}.service-modal.is-open{display:flex}.service-modal-panel{position:relative;background:#fff;border-radius:22px;padding:30px;width:min(820px,100%);margin:auto;box-shadow:0 30px 90px #0005}.service-modal-panel h2{font-size:2rem;margin:10px 0}.service-modal-close{position:absolute;right:18px;top:12px;border:0;background:#f1f4f7;border-radius:50%;width:40px;height:40px;font-size:1.7rem;cursor:pointer;color:var(--navy)}.service-modal .enquiry-form{margin-top:20px}.service-modal .full{grid-column:1/-1}.service-modal a{color:#80550d}@media(max-width:700px){.service-modal{padding:10px}.service-modal-panel{padding:22px 16px}.timeline-item{grid-template-columns:44px 1fr;gap:12px}.timeline-item>span{width:40px;height:40px}.policy-list{padding-left:20px}}

/* v0.8 layout and modal corrections */
.about-content,.serve-content{max-width:1040px;margin-left:auto;margin-right:auto;}
.about-content h2,.serve-content h2{margin-top:38px;margin-bottom:14px;}
.about-content p,.serve-content p{max-width:78ch;line-height:1.8;}
.about-content .cards{grid-template-columns:repeat(2,minmax(0,1fr));margin:22px 0 30px;}
.footer-bottom{display:flex;justify-content:space-between;align-items:center;gap:18px;}
.footer-bottom .developed-by{margin-left:auto;text-align:right;}
.service-modal-panel{width:min(1120px,100%);max-height:none;}
.service-modal-columns{display:grid;grid-template-columns:minmax(0,.9fr) minmax(0,1.1fr);gap:24px;align-items:start;margin-top:22px;}
.service-modal-tasks{background:#f7f9fc;border:1px solid var(--line);border-radius:16px;padding:22px;position:sticky;top:8px;}
.service-modal-tasks h3,.service-modal-form h3{margin-bottom:12px;}
.service-modal-tasks ul{padding-left:22px;margin:16px 0;}
.service-modal-tasks li{margin:0 0 12px;line-height:1.55;}
.service-modal-form .enquiry-form{margin-top:12px;padding:20px;box-shadow:none;}
.policy-list li{padding:17px 20px;line-height:1.8;}
.policy-list .policy-item{font-weight:700;color:var(--navy);}
.policy-list .policy-description{font-weight:400;color:var(--muted);margin-top:6px;}
@media(max-width:760px){.service-modal-columns{grid-template-columns:1fr;}.service-modal-tasks{position:static;}.about-content .cards{grid-template-columns:1fr;}.footer-bottom{align-items:flex-start;flex-direction:column;}.footer-bottom .developed-by{margin-left:0;text-align:left;}}

/* v0.9 integrated service modal refinements */
.service-modal{overflow-y:auto;padding:22px;align-items:flex-start}.service-modal-panel{margin:auto;max-height:calc(100vh - 44px);overflow-y:auto}.service-modal-tasks{min-width:0}.service-modal-form{min-width:0}.service-modal .enquiry-form{grid-template-columns:repeat(2,minmax(0,1fr))}.service-modal .enquiry-form>label.full,.service-modal .enquiry-form>.full{grid-column:1/-1}.service-trigger:focus-visible{outline:3px solid var(--gold);outline-offset:3px}.policy-description{margin-top:8px;line-height:1.65;color:var(--muted)}@media(max-width:760px){.service-modal{padding:10px}.service-modal-panel{max-height:calc(100vh - 20px)}.service-modal .enquiry-form{grid-template-columns:1fr}.service-modal .enquiry-form>label,.service-modal .enquiry-form>label.full,.service-modal .enquiry-form>.full{grid-column:1}}
