/* Karnesh Shastri — photographic editorial redesign, October 2026.
   Accessible type sizes, authentic licensed stock-photo references, upright headings.
   Written as a separate override to retain the working application structure. */
:root{--pine:#173d3a;--pine-deep:#0c2728;--pine-soft:#265049;--cream:#fcfaf5;--paper:#fffefb;--sand:#f5ecdd;--ink:#1a3433;--muted:#4a5e58;--copper:#bc8757;--copper-deep:#976239;--gold:#e4bc79;--container:1240px}
body{font-size:16px;line-height:1.75;color:var(--ink)}
/* No cursive or scripted typography anywhere in the design. */
em,i:not([class]),.hero-lede,.hero h1 span,.hero-bottom,.signature-line strong,.service-cta>span,.why-item__number,.process-numeral{font-style:normal!important}
.section{padding:95px 0}
.section-heading{font-family:var(--serif);font-style:normal;font-size:clamp(37px,4.25vw,59px);font-weight:600;line-height:1.18;letter-spacing:-.025em;max-width:720px}
.eyebrow{font-size:12px;letter-spacing:.16em;margin-bottom:15px}
.section-lede{font:500 21px/1.65 var(--sans)}
.btn{min-height:54px;font-size:14px;font-weight:600;padding:14px 23px;border-radius:6px}
.text-link{font-size:14px}
.announcement{font-size:12px;min-height:38px}
.announcement__inner{min-height:38px}
.site-header{height:86px;position:sticky;top:0}
.nav-layout{gap:19px}
.brand{gap:12px}
.brand img{width:56px;height:56px}
.brand-copy strong{font:600 23px/1.14 var(--serif);letter-spacing:-.018em}
.brand-copy small{font:600 9.6px/1.5 var(--sans);letter-spacing:.11em;color:#885d3c}
.site-nav{gap:21px}
.site-nav a{font-size:13.5px;font-weight:600}
.btn-nav{font-size:13px;min-height:43px;padding:12px 16px}
/* Hero: strong statement and real candid editorial photography */
.hero{background:#0c2929}
.hero::before{background:radial-gradient(circle at 8% 12%,#51765e17,transparent 40%),linear-gradient(110deg,#0c2929,#143934 70%,#0d2a28);z-index:-2}
.hero-stars{opacity:.3}
.hero-grid{grid-template-columns:minmax(0,1.02fr) minmax(450px,.86fr);gap:65px;min-height:auto;padding-top:68px;padding-bottom:78px;align-items:center}
.hero-main{padding:0}
.hero-kicker{font-size:12px;letter-spacing:.18em;margin-bottom:23px;color:#e6cb9c}
.hero-decoration{width:480px;left:22%;top:-10%;opacity:.10;animation-duration:180s}
.hero h1{font-size:clamp(61px,5.5vw,82px);line-height:1.1;font-weight:600;letter-spacing:-.05em;margin-bottom:20px}
.hero h1 span{font-style:normal;color:#e8bd7d;display:block;font-weight:600}
.hero-lede{font:500 clamp(19px,2vw,23px)/1.5 var(--sans);color:#fff2d9;margin:0 0 15px;letter-spacing:-.015em}
.hero-copy{font-size:15.5px;line-height:1.9;color:#e0e9e1;margin-bottom:28px}
.hero-points{margin-top:25px;padding-top:18px;gap:12px 20px}
.hero-points span{font-size:12px;font-weight:500}
.hero-points i{font-size:13px}
.hero-photo-note{display:grid;grid-template-columns:143px 1fr;gap:0;align-items:stretch;max-width:550px;min-height:145px;margin-top:30px;background:#ffffff11;border:1px solid #ffffff35;border-radius:7px;overflow:hidden;position:relative}
.hero-photo-note__photo{min-height:145px;overflow:hidden;background:#315351}
.hero-photo-note__photo img{width:100%;height:100%;object-fit:cover}
.hero-photo-note__copy{padding:17px 17px 17px 19px;display:flex;flex-direction:column;justify-content:center;gap:7px}
.hero-photo-note__eyebrow{font-size:10px;font-weight:700;letter-spacing:.11em;color:var(--gold)}
.hero-photo-note strong{font:600 18px/1.33 var(--serif);color:white}
.hero-photo-note__copy>span:last-child{color:#c4d6ce;font-size:12px;line-height:1.5}
/* Prominent enquiry, legible labels and 48+px touch areas. */
.form-shell{padding:31px 31px 30px;border-radius:12px;box-shadow:0 28px 75px #0004}
.form-shell::before{inset:0;border-radius:11px;box-shadow:inset 0 0 0 1px #e4d5c3}
.form-shell__top{font-size:11.5px;letter-spacing:.13em;margin-bottom:12px}
.form-shell h2,.final-form-panel h3{font:600 31px/1.2 var(--serif);letter-spacing:-.025em;margin-bottom:9px}
.form-shell>p,.final-form-panel>p{font-size:13.5px;line-height:1.7;color:#51655e;margin-bottom:21px}
.enquiry-form{gap:15px}
.form-row{gap:12px}
.form-row.two-col{gap:12px}
.form-field label{font-size:13px;font-weight:600;margin-bottom:7px;color:#26423e}
.form-field input,.form-field textarea,.form-field select{font-size:14px;min-height:48px;padding:11px 13px;border:1px solid #d3d7d0;border-radius:5px;background:white;color:#1a3933}
.form-field textarea{min-height:93px}
.field-error{font-size:12px}
.optional{font-size:12px}
.consent{font-size:12px;color:#576b64;line-height:1.65}
.consent input{width:18px;height:18px}
.btn-submit{font-size:15px;min-height:54px;background:#1c4840}
.form-micro{font-size:11.5px;line-height:1.6}
.form-feedback{font-size:13px}
/* Reassurance strip */
.reassurance-inner>span:not(.reassurance-divider){font-size:13px;font-weight:600}
.reassurance-inner{gap:28px;min-height:91px}
/* About: larger typography, true photographic treatment */
.intro-grid{gap:88px;grid-template-columns:.9fr 1.1fr}
.intro-photo{height:565px;background:#344c40;border-radius:3px}
.intro-photo img{object-position:50% 35%}
.intro-seal{background:#f4d0a0;right:-27px}
.intro-content>p:not(.eyebrow):not(.section-lede){font-size:16px;color:#4d625c;line-height:1.83}
.signature-line strong{font:600 18px/1.4 var(--sans)}
.signature-line div span{font-size:12px}
.intro-image-caption{font-size:10px;letter-spacing:.12em}
/* Custom full-width photographic storytelling interlude */
.photo-editorial{background:#f0e5d5;overflow:hidden;padding:84px 0 92px}
.photo-editorial__inner{display:grid;grid-template-columns:.91fr 1.09fr;gap:72px;align-items:center}
.photo-editorial__content{position:relative;padding:20px 0}
.photo-editorial__line{display:block;width:72px;height:5px;background:#b5814d;margin-bottom:30px}
.photo-editorial__content .eyebrow{margin-bottom:18px;color:#8d6242}
.photo-editorial__content h2{font:600 clamp(37px,4.2vw,58px)/1.2 var(--serif);letter-spacing:-.025em;margin:0 0 24px;color:#143b36}
.photo-editorial__content p:not(.eyebrow){font-size:16.5px;color:#50665e;line-height:1.85;max-width:480px;margin:0 0 29px}
.photo-editorial__actions{display:flex;gap:18px;align-items:center;flex-wrap:wrap}
.photo-editorial__phone{font-size:14px;font-weight:600;color:#1d514a;text-decoration:underline;text-underline-offset:6px}
.photo-editorial__collage{height:490px;position:relative}
.photo-editorial__main{position:absolute;inset:0 23% 17% 0;margin:0;background:#536257;border-radius:4px;overflow:hidden;box-shadow:0 16px 30px #2d3b2828}
.photo-editorial__small{position:absolute;inset:31% 0 0 54%;margin:0;border:8px solid #f0e5d5;border-radius:5px;overflow:hidden;box-shadow:0 10px 25px #24342221;background:#6a7059}
.photo-editorial__main img,.photo-editorial__small img{width:100%;height:100%;object-fit:cover;transition:transform .7s ease}
.photo-editorial__main:hover img,.photo-editorial__small:hover img{transform:scale(1.04)}
.photo-editorial__graphic{position:absolute;left:-25px;bottom:-18px;width:165px;height:130px;display:flex;flex-direction:column;justify-content:center;align-items:center;background:#fdfbf6;transform:rotate(-4deg);box-shadow:0 10px 26px #28312225;border:1px solid #ddc2a3}
.photo-editorial__graphic span{font-size:38px;line-height:1;color:#aa7643}
.photo-editorial__graphic small{font-size:9px;letter-spacing:.10em;text-align:center;line-height:1.55;font-weight:700;max-width:135px;color:#324842;margin-top:9px}
/* Service cards—real photos, relaxed text, visibly distinct CTA */
.services-section{background:#fcf9f4}
.section-head>p,.review-heading>p{font-size:15.5px;line-height:1.75;max-width:420px;color:#52645e}
.service-grid{gap:22px}
.service-card{min-height:0;padding:0;background:white;border:1px solid #e0ded6;border-radius:8px;box-shadow:0 5px 18px #172d2720;overflow:hidden}
.service-card::after{display:none}
.service-card:hover{border-color:#d6b68c;transform:translateY(-6px);box-shadow:0 18px 46px #1f392a26}
.service-photo{width:100%;height:192px;overflow:hidden;background:#345955;position:relative}
.service-photo::after{position:absolute;content:"";inset:0;background:linear-gradient(0deg,#092e2638,transparent 65%);pointer-events:none}
.service-photo img{width:100%;height:100%;object-fit:cover;object-position:center 43%;transition:transform .7s ease}
.service-card:hover .service-photo img{transform:scale(1.06)}
.service-card__top{margin:19px 24px 12px;min-height:39px}
.service-icon{width:38px;height:38px;font-size:16px;background:#f6efe2}
.service-no{font-size:12px;font-weight:600;letter-spacing:.05em;color:#a28467}
.service-category{font-size:11px;font-weight:700;margin:0 24px 8px;letter-spacing:.105em}
.service-card h3{font:600 25px/1.27 var(--serif);letter-spacing:-.025em;margin:0 24px 9px;color:var(--pine);min-height:0}
.service-description{font-size:14px;color:#52665e;line-height:1.68;margin:0 24px 17px}
.service-link{font-size:13px;margin:0 24px 24px;padding:8px 0 6px;gap:12px;color:#175349}
.service-cta{margin-top:43px}
.service-cta>span{font:600 17px/1.4 var(--sans)}
.service-cta .text-link{font-size:14px}
/* Story and trust elements */
.story-section{padding:93px 0;background:#113631}
.story-section::before{opacity:.09}
.story-head{margin-bottom:36px}
.story-grid{gap:25px}
.story-feature{border:0;border-radius:9px;box-shadow:0 15px 30px #0002}
.story-feature__image{height:284px}
.story-feature__body{padding:30px 32px 34px}
.story-feature__body>span{font-size:12px;letter-spacing:.13em;font-weight:700}
.story-feature h3{font:600 33px/1.26 var(--serif)}
.story-feature p{font-size:15px;color:#4e635e;line-height:1.75}
.story-feature__link{font-size:13px;font-weight:700}
.why-intro>p:not(.eyebrow),.why-item p,.process-card p{font-size:15px;line-height:1.8;color:#506760}
.why-item h3{font:600 22px/1.35 var(--serif)}
.why-item__number{font:600 17px/1.55 var(--sans)}
.process-card{min-height:289px;border-radius:8px}
.process-card h3{font:600 24px/1.4 var(--serif)}
.process-numeral{font:600 18px var(--sans)}
.process-phone{font-size:15px}
.review-placeholder{background:white;border:1px solid #e3d8c8;border-top:4px solid #b99165;min-height:0;border-radius:4px}
.placeholder-tag{font-size:11px;letter-spacing:.08em}
.review-placeholder h3{font:600 23px/1.4 var(--serif)}
.review-placeholder p{font-size:14px;line-height:1.75;color:#506760}
.faq-title p:not(.eyebrow){font-size:15px}
.faq-list summary{font-size:15px;line-height:1.5;min-height:82px}
.faq-answer{font-size:14.5px;line-height:1.78}
.final-section{padding:94px 0}
.final-grid{gap:73px}
.final-intro>p:not(.eyebrow){font-size:16px;line-height:1.85}
.contact-channel small{font-size:11px;letter-spacing:.10em}
.contact-channel strong{font:600 19px/1.4 var(--sans)}
.final-form-panel{padding:33px 33px 36px;border-radius:10px}
.final-form-eyebrow{font-size:11px}
.footer-brand>p{font-size:14px}
.footer-links h3,.footer-contact h3{font-size:13px}
.footer-links a,.footer-contact a,.footer-contact>span{font-size:13.5px}
.footer-disclaimer{font-size:12px}
.footer-bottom{font-size:12px}
/* Desktop: always-visible call and WhatsApp CTA stack, never an inert icon. */
.sticky-contact-bar{position:fixed;z-index:80;left:17px;bottom:21px;display:flex;flex-direction:column;gap:10px;filter:drop-shadow(0 7px 18px #112c2436)}
.sticky-contact-bar a{display:flex;align-items:center;gap:12px;min-width:185px;min-height:54px;padding:10px 15px;color:white;background:#19534d;border:1px solid #e4eee08f;border-radius:9px;transition:transform .2s,box-shadow .2s;background-clip:padding-box}
.sticky-contact-bar a:last-child{background:#15864b}
.sticky-contact-bar a:hover{transform:translateX(-4px);box-shadow:0 12px 25px #102e2938}
.sticky-contact-bar__symbol{display:grid;place-items:center;flex:none;height:34px;width:34px;border-radius:50%;background:#ffffff27;font-size:16px}
.sticky-contact-bar a>span:last-child{display:flex;flex-direction:column;font-size:14px;line-height:1.2;font-weight:700}
.sticky-contact-bar small{font-size:11px;line-height:1.4;font-weight:500;color:#ffffffdd;margin-top:3px}
/* Micro motion: no flashing/pulsing or dishonest urgency */
.hero-photo-note{animation:enter-photo .8s both}
@keyframes enter-photo{from{transform:translateY(10px);opacity:0}to{transform:translateY(0);opacity:1}}
.hero-photo-note__photo img{animation:photo-settle 13s ease-in-out infinite alternate}
@keyframes photo-settle{from{transform:scale(1)}to{transform:scale(1.06)}}
.eyebrow-line{width:35px}
/* Responsive typography and photography */
@media (max-width:1150px){
 .site-nav{gap:14px}.site-nav a{font-size:12px}
 .hero-grid{gap:33px;grid-template-columns:minmax(0,1fr) minmax(420px,.97fr)}
 .hero h1{font-size:clamp(56px,5.8vw,73px)}
 .hero-photo-note{grid-template-columns:122px 1fr}.hero-photo-note__copy{padding:12px}
 .photo-editorial__inner{gap:48px}.intro-grid{gap:55px}.final-grid{gap:43px}
 .service-grid{gap:17px}.service-card h3{font-size:23px}
}
@media (max-width:980px){
 .container{width:min(calc(100% - 48px),var(--container))}
 .site-header{height:75px}.site-nav{top:75px}.site-nav a{font-size:16px}
 .hero-grid{grid-template-columns:1fr 1fr;gap:21px;padding-block:56px}
 .hero h1{font-size:clamp(42px,5.9vw,61px)}
 .hero-lede{font-size:18px}.hero-copy{font-size:14px}
 .hero-photo-note{grid-template-columns:96px 1fr;margin-top:21px;min-height:125px}.hero-photo-note__photo{min-height:125px}.hero-photo-note__eyebrow{font-size:9px}.hero-photo-note strong{font-size:15px}
 .form-shell{padding:25px 19px}.form-shell h2{font-size:27px}.form-field label{font-size:12px}
 .form-field input,.form-field select,.form-field textarea{min-height:47px;font-size:13px;padding:9px 10px}
 .consent{font-size:11.5px}.section-heading{font-size:clamp(35px,4.5vw,52px)}
 .photo-editorial__inner{gap:35px}.photo-editorial__collage{height:400px}
 .service-card h3{font-size:22px;margin-inline:17px}.service-description{font-size:13.5px;margin-inline:17px}.service-link{margin-inline:17px}.service-category{margin-inline:17px}.service-card__top{margin-inline:17px}
 .sticky-contact-bar a{min-width:167px}
}
@media (max-width:760px){
 .container{width:calc(100% - 40px)}
 .announcement{font-size:11px}
 .site-header{height:73px}.site-nav{top:73px}
 .brand img{width:47px;height:47px}.brand-copy strong{font-size:20px}.brand-copy small{font-size:8px}
 .btn-nav{font-size:12px;min-height:43px}
 .hero-grid{grid-template-columns:1fr;gap:30px;padding:53px 0 58px}
 .hero-kicker{font-size:11px}.hero h1{font-size:clamp(53px,10.3vw,76px)}
 .hero-lede{font-size:21px}.hero-copy{font-size:15px;max-width:630px}
 .hero-actions .btn{font-size:13px}
 .hero-photo-note{grid-template-columns:155px 1fr;max-width:610px;min-height:145px}
 .hero-photo-note__copy{padding:17px}.hero-photo-note strong{font-size:18px}.hero-photo-note__eyebrow{font-size:10px}
 .form-shell{max-width:660px;padding:29px 29px 30px}.form-shell h2{font-size:31px}
 .form-field label{font-size:13px}.form-field input,.form-field select,.form-field textarea{font-size:14px;min-height:48px}
 .reassurance-inner>span:not(.reassurance-divider){font-size:12.5px}
 .section{padding:76px 0}.section-heading{font-size:clamp(37px,6vw,49px)}
 .intro-grid{gap:46px}.intro-photo{height:460px}
 .photo-editorial{padding:74px 0}.photo-editorial__inner{grid-template-columns:1fr;gap:35px}.photo-editorial__collage{height:420px;max-width:600px;width:100%}
 .service-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.service-photo{height:180px}
 .story-grid{gap:18px}.story-feature__image{height:220px}.story-feature h3{font-size:26px}.story-feature p{font-size:14px}
 .why-grid,.faq-grid{gap:35px}.why-intro>p:not(.eyebrow),.why-item p,.process-card p{font-size:14px}
 .process-grid{grid-template-columns:1fr;gap:15px;max-width:600px;margin-inline:auto}.process-grid::before{display:none}.process-card{min-height:0;padding:30px}
 .review-grid{grid-template-columns:1fr 1fr}
 .final-section{padding:76px 0}.final-intro>p:not(.eyebrow){font-size:15px}
 .sticky-contact-bar{left:0;right:0;bottom:0;flex-direction:row;gap:10px;padding:10px 15px calc(10px + env(safe-area-inset-bottom));background:#fffefb;box-shadow:0 -4px 20px #112c2440;filter:none;z-index:95}
 .sticky-contact-bar a,.sticky-contact-bar a:last-child{flex:1;min-width:0;min-height:55px;padding:8px 12px;border-radius:7px;justify-content:center}
 .sticky-contact-bar a>span:last-child{font-size:14px}.sticky-contact-bar small{font-size:10.5px}
 .sticky-contact-bar a:hover{transform:none}
 body{padding-bottom:calc(76px + env(safe-area-inset-bottom))}
}
@media (max-width:540px){
 .container{width:calc(100% - 34px)}.section{padding:66px 0}
 .announcement__inner>span{font-size:10px;max-width:50%}.announcement a{font-size:10px}
 .site-header{height:71px}.site-nav{top:71px}.brand img{width:43px;height:43px}.brand-copy strong{font-size:18px}.brand-copy small{font-size:7.2px;letter-spacing:.035em}
 .nav-layout>.btn-nav{min-height:39px;font-size:11px;padding:8px 11px}
 .hero-grid{padding:47px 0 52px;gap:27px}.hero h1{font-size:clamp(50px,11.9vw,65px);margin-bottom:14px}.hero-kicker{font-size:10px;letter-spacing:.11em}
 .hero-lede{font-size:18px;line-height:1.55}.hero-copy{font-size:14.5px;line-height:1.73}
 .hero-actions{gap:10px}.hero-actions .btn{font-size:12px;min-height:51px;padding:10px 12px}
 .hero-points span{font-size:11.5px}
 .hero-photo-note{grid-template-columns:112px 1fr;min-height:132px}.hero-photo-note__photo{min-height:132px}.hero-photo-note__copy{padding:12px}.hero-photo-note__eyebrow{font-size:9px}.hero-photo-note strong{font-size:16px}.hero-photo-note__copy>span:last-child{font-size:11px}
 .form-shell{padding:25px 19px 25px}.form-shell h2{font-size:29px}.form-shell__top{font-size:10px}.form-shell>p{font-size:13px}
 .form-row.two-col{grid-template-columns:1fr;gap:12px}.form-field label{font-size:13px}.form-field input,.form-field textarea,.form-field select{font-size:14px}
 .consent{font-size:11.5px}.form-micro{font-size:11.5px}
 .reassurance-inner{gap:8px 17px}.reassurance-inner>span:not(.reassurance-divider){font-size:11.5px}
 .intro-grid{gap:43px}.intro-photo{height:375px}.intro-content>p:not(.eyebrow):not(.section-lede){font-size:15px;line-height:1.78}
 .section-heading{font-size:clamp(36px,8vw,44px)}
 .photo-editorial{padding:64px 0}.photo-editorial__content h2{font-size:39px}.photo-editorial__content p:not(.eyebrow){font-size:15px}
 .photo-editorial__collage{height:330px}.photo-editorial__main{right:20%;bottom:12%}.photo-editorial__small{left:57%;top:36%;border-width:5px}.photo-editorial__graphic{width:110px;height:95px;bottom:-11px;left:-5px}.photo-editorial__graphic span{font-size:25px}.photo-editorial__graphic small{font-size:7.5px;max-width:90px}
 .section-head>p,.review-heading>p{font-size:14.5px}
 .service-grid{grid-template-columns:1fr;gap:19px}.service-photo{height:225px}
 .service-card h3{font-size:26px;margin:0 24px 12px}.service-card__top{margin:22px 24px 13px}.service-category{margin:0 24px 7px;font-size:11px}.service-description{margin:0 24px 20px;font-size:15px}.service-link{margin:0 24px 25px;font-size:14px}
 .service-cta>span{font-size:16px}
 .story-section{padding:67px 0}.story-feature__image{height:220px}.story-feature__body{padding:25px}.story-feature h3{font-size:28px}.story-feature p{font-size:14.5px}
 .why-item{gap:12px}.why-item h3{font-size:20px}.why-item p{font-size:14px}
 .process-card{padding:31px 26px}.process-card p{font-size:14px}.process-card h3{font-size:24px}
 .review-grid{grid-template-columns:1fr}.review-placeholder h3{font-size:22px}.review-placeholder p{font-size:14px}
 .faq-list summary{font-size:15px;min-height:74px}.faq-answer{font-size:14px}
 .final-intro>.section-heading{font-size:42px}.final-intro>p:not(.eyebrow){font-size:15px}.final-form-panel{padding:26px 19px}.final-form-panel h3{font-size:28px}.contact-channel strong{font-size:17px}
 .footer-top{gap:29px 20px}.footer-links a,.footer-contact a,.footer-contact>span{font-size:13px}.footer-disclaimer{font-size:11.5px}.footer-bottom{font-size:11px}
 .sticky-contact-bar{gap:8px;padding-inline:10px}.sticky-contact-bar a,.sticky-contact-bar a:last-child{min-height:55px;padding:8px 9px}.sticky-contact-bar__symbol{height:31px;width:31px;font-size:16px}.sticky-contact-bar a>span:last-child{font-size:13px}.sticky-contact-bar small{font-size:10px}
}
@media (max-width:360px){.brand-copy strong{font-size:16px}.brand-copy small{font-size:6px}.nav-layout>.btn-nav{font-size:10px;padding:6px 8px}.hero-actions{flex-direction:column}.hero-actions .btn{width:100%}}
@media (prefers-reduced-motion:reduce){.hero-photo-note,.hero-photo-note__photo img{animation:none!important}}
/* Keep the compact mobile header inside the viewport. Contact remains sticky below. */
@media (max-width:420px){
 .nav-layout>.btn-nav{display:none}
 .mobile-nav-toggle{margin-left:auto;flex-shrink:0}
}
/* Keep floating buttons clear of the hero form on desktop; show them while scrolling. */
@media (min-width:761px){
 .sticky-contact-bar{opacity:0;pointer-events:none;transform:translateY(10px);transition:opacity .25s ease,transform .25s ease}
 .sticky-ready .sticky-contact-bar{opacity:1;pointer-events:auto;transform:translateY(0)}
}
