@import url('https://fonts.googleapis.com/css2?family=DM+Sans:wght@400;500;600;700&family=Manrope:wght@400;500;600;700;800&display=swap');:root{--ink:#172a26;--green:#0d4d41;--cream:#f5f3eb;--muted:#65716c;--accent:#ddaa75}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;color:var(--ink);background:#faf9f5;font:16px/1.65 'DM Sans',sans-serif}h1,h2,h3,p{margin-top:0}h1,h2,h3{font-family:Manrope,sans-serif;line-height:1.14;letter-spacing:-.05em}a{color:inherit;text-decoration:none}img{max-width:100%;display:block}.container{max-width:1260px;padding:0 38px;margin:auto}.section{padding-top:120px;padding-bottom:120px}.site-nav{height:86px;position:fixed;z-index:90;top:0;left:0;right:0;background:rgba(250,249,245,.92);backdrop-filter:blur(18px);border-bottom:1px solid #deded7}.nav-inner{max-width:1320px;padding:0 30px;margin:auto;height:100%;display:flex;align-items:center;justify-content:space-between}.brand img{width:180px;max-height:72px;object-fit:contain}.nav-links{display:flex;align-items:center;gap:34px;font-size:13px;font-weight:700;letter-spacing:.01em}.nav-links a:not(.nav-cta):hover,.text-link:hover{color:#ac668c}.nav-cta{background:var(--ink);color:white;padding:13px 21px;border-radius:100px}.menu-toggle{display:none;background:none;border:0;font-size:28px}.hero{min-height:780px;height:100svh;position:relative;overflow:hidden;display:flex;align-items:center;background:#ede1ce}.hero-bg{position:absolute;inset:0;background-image:linear-gradient(90deg,rgba(249,239,225,.95) 0%,rgba(248,240,225,.80) 27%,rgba(248,240,225,.05) 60%),url('/assets/hero.webp');background-size:cover;background-position:center;transform:scale(1.04);will-change:transform}.hero-content{position:relative;width:100%;padding-top:70px}.eyebrow{font-size:11px;letter-spacing:.24em;font-weight:800;color:#52706a;text-transform:uppercase;margin-bottom:24px}.hero h1{font-size:clamp(64px,6.5vw,112px);max-width:770px;font-weight:700;letter-spacing:-.07em;margin-bottom:30px}.hero h1 em,h2 i,.inner-hero em{font-family:Georgia,serif;font-weight:400;letter-spacing:-.055em;color:#b66884}.hero-copy{font-size:17px;line-height:1.75;max-width:470px}.hero-actions{display:flex;gap:14px;flex-wrap:wrap;margin-top:30px}.btn{padding:15px 26px;font-weight:700;display:inline-flex;justify-content:center;gap:35px;align-items:center;border-radius:3px;font-size:13px;border:1px solid var(--ink);cursor:pointer;transition:transform .2s,background .2s}.btn:hover{transform:translateY(-3px)}.primary{background:var(--ink);color:#fff}.ghost{background:transparent}.hero-scroll{position:absolute;bottom:30px;left:40px;letter-spacing:.22em;font-size:10px;font-weight:700}.hero-scroll span{font-size:18px;margin-left:20px}.section-title-row{display:flex;justify-content:space-between;align-items:end;gap:70px;margin-bottom:46px}.section-title-row h2,h2{font-size:clamp(42px,5vw,72px);font-weight:700}.section-title-row p{max-width:360px;color:var(--muted)}.service-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:30px}.service-card{background:#f0efe7;padding:18px 18px 28px;transition:transform .3s,box-shadow .3s}.service-card:hover{transform:translateY(-7px);box-shadow:0 18px 35px #172a261c}.service-card img{height:325px;width:100%;object-fit:cover;transition:transform .5s}.service-card:hover img{transform:scale(1.015)}.service-card>span{font-size:11px;color:var(--muted);letter-spacing:.13em;display:block;margin:24px 10px 10px}.service-card h3{font-size:32px;margin:0 10px 8px}.service-card p{margin:0 10px 12px;color:var(--muted)}.service-card b{font-size:12px;margin:0 10px}.statement{position:relative;min-height:510px;display:flex;align-items:center;overflow:hidden;background:#123b33;color:white}.statement-art{position:absolute;inset:-40px;background:radial-gradient(circle at 88% 5%,#80d2b957,transparent 35%),radial-gradient(circle at 10% 90%,#bc6b974f,transparent 40%);transform:scale(1.1)}.statement-content{position:relative;width:100%;text-align:center}.statement .eyebrow{color:#d5cbaa}.statement h2{font-size:clamp(38px,5vw,68px)}.statement p{color:#c1d0ca}.steps{display:grid;grid-template-columns:repeat(4,1fr);gap:25px}.step{border-top:1px solid #aab8aa;padding-top:18px}.step small{font-size:12px;color:#a66f70}.step h3{font-size:22px;margin-top:25px}.step p{font-size:14px;color:var(--muted)}.geographic{background:#e8eee8}.geo-flex{display:grid;grid-template-columns:1fr 1fr;align-items:center;gap:70px}.geo-flex p{max-width:570px;color:var(--muted)}.text-link{font-weight:800;border-bottom:1px solid currentColor}.geo-graphic{aspect-ratio:1;position:relative;display:grid;place-items:center}.orbit{position:absolute;border:1px solid #9db3a3;border-radius:50%;width:70%;height:70%;animation:orbit 18s linear infinite}.o2{width:100%;height:100%;border-style:dashed;animation-duration:28s;animation-direction:reverse}.geo-center{background:#0d4d41;color:white;border-radius:100%;width:46%;aspect-ratio:1;display:grid;align-content:center;text-align:center;font:800 24px Manrope}.geo-center span{font:600 10px DM Sans;letter-spacing:.12em}.enquiry-section{background:#eee7da}.enquiry-grid{display:grid;grid-template-columns:1fr 1fr;gap:70px}.enquiry-grid>div>a{font-weight:700;text-decoration:underline}.quote-form{display:grid;grid-template-columns:1fr 1fr;gap:18px}.quote-form label,.catalog-controls label{display:grid;gap:8px;font-size:12px;font-weight:800;color:#4e615c}.quote-form input,.quote-form textarea,.quote-form select,.catalog-controls input,.catalog-controls select{font:inherit;width:100%;min-width:0;border:1px solid #b6bcb6;border-radius:3px;padding:13px;background:#fff;color:var(--ink)}.quote-form .full{grid-column:span 2}.quote-form small{grid-column:span 2;font-size:11px;color:var(--muted)}footer{background:#112721;color:white;padding:65px 0 26px}.footer-grid{display:grid;grid-template-columns:2fr 1fr 1.3fr;gap:60px}.footer-logo{display:block;width:184px;max-width:100%;height:auto;max-height:none;object-fit:contain;object-position:left center;filter:none;background:#fbfaf6;border:1px solid #e7e3db;border-radius:9px;padding:10px 12px;box-sizing:content-box;box-shadow:0 3px 14px rgba(0,0,0,.12)}.footer-grid>div{display:flex;flex-direction:column;align-items:flex-start;gap:13px}.footer-grid strong{margin-bottom:9px}.footer-grid a,.footer-grid span,.footer-grid p{font-size:13px;color:#c4d0c9}.foot-note{border-top:1px solid #ffffff27;margin-top:60px;padding-top:20px;font-size:11px;color:#bac9be}.inner-page{padding-top:86px}.inner-hero{padding-top:110px;padding-bottom:90px}.inner-hero h1{font-size:clamp(55px,7vw,96px);max-width:900px}.inner-hero p{max-width:730px;color:var(--muted);font-size:17px}.catalogue-section{padding-top:25px}.catalog-controls{display:flex;align-items:end;gap:18px;justify-content:space-between;margin-bottom:28px}.catalog-controls label{flex:1;max-width:350px}.catalog-controls #itemCount{white-space:nowrap;font-size:12px;color:var(--muted)}.product-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:25px}.product-card{background:#f0efe7;padding-bottom:20px}.product-card img{width:100%;aspect-ratio:5/4;object-fit:cover}.product-card>div{padding:21px}.product-card small{font-size:11px;letter-spacing:.1em;color:#77807c}.product-card h3{font-size:24px;margin:11px 0}.product-card p{color:var(--muted);font-size:13px;min-height:56px}.product-card a{font-size:12px;font-weight:800;border-bottom:1px solid}.catalogue-note{color:var(--muted);font-size:12px;max-width:850px;margin-top:35px}.subhead{font-size:30px;margin:30px 0}.area-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:20px;margin:35px 0 70px}.area-grid article{background:#e8eee8;padding:30px}.area-grid h3{font-size:24px}.area-grid p{font-size:14px;color:var(--muted)}.faq{margin:25px 0 50px}.faq details{border-bottom:1px solid #b3bfb5;padding:18px}.faq summary{cursor:pointer;font-weight:700}.faq p{color:var(--muted)}.reveal{opacity:0;transform:translateY(25px);transition:opacity .75s,transform .75s}.reveal.visible{opacity:1;transform:translateY(0)}.rise{animation:rise .85s both}.rise:nth-of-type(2){animation-delay:.1s}.rise:nth-of-type(3){animation-delay:.25s}@keyframes rise{from{opacity:0;transform:translateY(30px)}to{opacity:1;transform:none}}@keyframes orbit{to{transform:rotate(360deg)}}@media(max-width:800px){.container{padding-left:22px;padding-right:22px}.site-nav{height:70px}.brand img{width:140px}.menu-toggle{display:block}.nav-links{display:none;position:absolute;top:70px;left:0;right:0;background:#f9f8f4;flex-direction:column;align-items:stretch;padding:24px;gap:17px}.nav-links.open{display:flex}.hero{min-height:670px}.hero h1{font-size:61px}.hero-bg{background-position:58% center;background-image:linear-gradient(90deg,rgba(249,239,225,.96),rgba(249,239,225,.48)),url('/assets/hero.webp')}.hero-scroll{left:22px}.section{padding-top:72px;padding-bottom:72px}.section-title-row,.geo-flex,.enquiry-grid{display:block}.section-title-row p{max-width:600px}.service-grid,.steps,.product-grid,.area-grid{grid-template-columns:repeat(2,1fr)}.service-card img{height:230px}.geo-graphic{max-width:420px;margin:auto}.enquiry-grid form{margin-top:40px}.footer-grid{grid-template-columns:1fr 1fr}.footer-grid>div:first-child{grid-column:span 2}.inner-page{padding-top:70px}.catalog-controls{flex-wrap:wrap}}@media(max-width:540px){.hero h1{font-size:52px}.hero-actions{gap:10px}.btn{padding:13px 17px}.service-grid,.steps,.product-grid,.area-grid{grid-template-columns:1fr}.catalog-controls label{min-width:100%;max-width:none}.quote-form{grid-template-columns:1fr}.quote-form .full{grid-column:auto}.footer-grid{grid-template-columns:1fr}.footer-grid>div:first-child{grid-column:auto}.section-title-row h2,h2{font-size:42px}}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*:before,*:after{animation:none!important;transition:none!important}.reveal{opacity:1;transform:none}}
/* Additional full-site templates */
.breadcrumbs{font-size:.85rem;color:#6a7871;margin:24px 0 32px}.breadcrumbs a{color:#365748}
.product-detail{padding-top:55px;padding-bottom:100px}.detail-grid{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:clamp(28px,5vw,80px);align-items:center}.detail-image{width:100%;height:480px;object-fit:cover;border-radius:15px;background:#ece5d8}.detail-info h1{font-family:Georgia,serif;font-size:clamp(38px,5vw,67px);line-height:1.05;margin:18px 0}.detail-info h2{font-size:19px;font-weight:500;color:#a78d67}.detail-info p{line-height:1.8;color:#4f6057;max-width:610px}.detail-info h3{margin-top:34px}.detail-back{display:block;margin:22px 0}.fineprint{font-size:12px;line-height:1.7;color:#73776e}
.service-tiles{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:20px}.service-tile{display:block;padding:32px;background:#f3f0e9;border:1px solid #e5dfd3;border-radius:12px;color:inherit;text-decoration:none;transition:transform .3s,box-shadow .3s}.service-tile:hover{transform:translateY(-6px);box-shadow:0 16px 40px #223b281a}.service-tile h2{font:normal clamp(24px,3vw,35px) Georgia,serif;margin:15px 0}.service-tile p{color:#53635a;font-size:14px;line-height:1.7}.service-tile b{font-size:12px}.service-article{max-width:860px;margin:auto;line-height:1.9}.service-article h2{font:normal 30px Georgia,serif;margin-top:35px}
@media(max-width:750px){.detail-grid,.service-tiles{grid-template-columns:1fr}.detail-image{height:320px}.product-detail{padding-top:20px}}

.product-card img{object-fit:cover;background:#eee5d6}.product-card{transition:transform .25s ease,box-shadow .25s ease}.product-card:hover{transform:translateY(-4px);box-shadow:0 18px 35px #172a2615}

/* V4 photographic services */
.service-tiles{gap:24px;align-items:stretch}.service-tile{padding:0 0 28px;overflow:hidden;background:#f3f0e9;display:flex;flex-direction:column;transition:transform .3s ease,box-shadow .3s ease}.service-tile-image{width:100%;aspect-ratio:1000/650;object-fit:cover;display:block;transition:transform .55s ease}.service-tile:hover .service-tile-image{transform:scale(1.045)}.service-tile>.eyebrow{margin:25px 28px 0}.service-tile h2{margin:10px 28px 12px;font-size:clamp(23px,2.45vw,34px)}.service-tile p{margin:0 28px 20px;flex:1}.service-tile b{margin:0 28px}.service-detail-image{width:min(calc(100% - 76px),1184px);height:auto;max-height:570px;object-fit:cover;display:block;margin:0 auto 20px;border-radius:12px;box-shadow:0 18px 45px #142d2416}.service-info{padding-top:55px}@media(max-width:800px){.service-detail-image{width:calc(100% - 44px)}}@media(prefers-reduced-motion:reduce){.service-tile-image{transition:none}}

/* V5: artwork is uncrowded, captions are always in the card body */
.service-tile-image{aspect-ratio:1.7;object-fit:cover;object-position:center;overflow:hidden}.service-tile{isolation:isolate}.service-tile h2{font-size:clamp(23px,2.4vw,32px);line-height:1.23;overflow-wrap:anywhere}.service-tile>.eyebrow{letter-spacing:.16em}.service-tile:hover .service-tile-image{transform:scale(1.015)}@media(max-width:700px){.service-tile h2{font-size:26px}.service-tile-image{aspect-ratio:1.7}}

/* V6: unique Printola service art, fit without embedded overlays */
.service-tile-image{aspect-ratio:1200/780;object-fit:cover;object-position:center;background:#f3efe8}
.service-tile h2{font-size:clamp(23px,2.4vw,31px)}
.service-card img{object-position:center;object-fit:cover}

/* V11 visual integrity */
.product-card{overflow:hidden}.product-media{position:relative;aspect-ratio:4/3;overflow:hidden;background:#f5eee2}.product-media img{width:100%;height:100%;display:block;object-fit:cover;object-position:center;transition:transform .35s ease}.product-card:hover .product-media img{transform:scale(1.025)}.concept-chip{position:absolute;left:10px;top:10px;padding:5px 9px;background:rgba(255,255,255,.94);border-radius:40px;color:#26463b;font-size:10px;font-weight:700;letter-spacing:.04em;box-shadow:0 1px 8px #16271a18}.product-card h3{line-height:1.3}.product-card p{line-height:1.55}@media(prefers-reduced-motion:reduce){.product-media img{transition:none}}
/* V12: product-specific quote request panel */
.product-quote-panel{max-width:1080px;margin:0 auto 90px;padding:clamp(24px,4vw,52px);background:#f2f0e9;border:1px solid #e7e1d6;border-radius:16px}
.product-quote-panel h2{font-size:clamp(28px,3vw,42px);margin:10px 0}
.product-quote-panel>p{max-width:740px;color:#52655d;line-height:1.6}
.product-quote-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:15px;margin-top:24px}
.product-quote-grid label{display:flex;flex-direction:column;gap:7px;font-weight:600;font-size:13px}
.product-quote-grid input,.product-quote-grid textarea{border:1px solid #c9cec8;border-radius:7px;padding:13px;font:inherit;background:white;color:#102c28;min-width:0}
.product-quote-grid input:focus-visible,.product-quote-grid textarea:focus-visible{outline:3px solid #bd688b;outline-offset:2px}
.product-quote-wide{grid-column:1/-1}.product-quote-panel .fineprint{font-size:12px;color:#52655d;margin:12px 0}
#productQuoteStatus{margin-top:12px;line-height:1.6}
@media(max-width:670px){.product-quote-grid{grid-template-columns:1fr}}

.quote-spam{position:absolute!important;left:-10000px!important;width:1px;height:1px;overflow:hidden} .product-quote-grid button:disabled{opacity:.6;cursor:wait}

.form-feedback:not(:empty),#productQuoteStatus:not(:empty){margin-top:12px;font-weight:600;color:#195144;line-height:1.5}

/* V18 accessibility: visually hidden until focused */
.skip-link{position:fixed;left:1rem;top:-100px;z-index:9999;background:#11372f;color:#fff;padding:.75rem 1rem;border-radius:6px;text-decoration:none}
.skip-link:focus{top:1rem}
:focus-visible{outline:3px solid #bf6688;outline-offset:3px}
@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto!important}*,*::before,*::after{animation-duration:.01ms!important;transition-duration:.01ms!important}}

/* V19: privacy notice and form-disclosure accessibility */
.privacy-disclosure{font-size:.85rem;line-height:1.5;color:#4d5b55;margin:12px 0}.privacy-disclosure a,.privacy-article a{text-decoration:underline;text-underline-offset:3px}.privacy-article{max-width:850px}.privacy-article h2{margin-top:1.8rem}.privacy-article p{line-height:1.75}

/* V24: footer brand contrast and responsive sizing */
@media(max-width:540px){.footer-logo{width:166px;padding:9px 11px}}

/* V25 — adjacent catalogue browsing, accessible keyboard focus */
.product-v25-nav{display:grid;grid-template-columns:1fr auto 1fr;gap:12px;max-width:1120px;margin:28px auto 54px;padding:0 18px}
.product-v25-nav a{display:flex;flex-direction:column;gap:5px;padding:16px 18px;border-radius:12px;background:#edece5;border:1px solid #d9d4c8;color:#19352c;text-decoration:none;min-width:0}
.product-v25-nav small{font-size:11px;letter-spacing:.08em;text-transform:uppercase;color:#5c6b62}
.product-v25-nav strong{font-size:15px;line-height:1.4;overflow-wrap:anywhere}
.product-v25-nav .product-v25-next{text-align:right;align-items:flex-end}
.product-v25-nav .product-v25-all{justify-content:center;text-align:center;white-space:nowrap;font-weight:700}
.product-v25-nav a:hover{border-color:#1c6a50;background:#e3eae1}
.product-v25-nav a:focus-visible{outline:3px solid #b55d84;outline-offset:3px}
@media(max-width:650px){.product-v25-nav{grid-template-columns:1fr 1fr}.product-v25-nav .product-v25-all{grid-column:1/-1;grid-row:1;min-height:45px}.product-v25-nav a{padding:12px}}

/* V26 Mumbai corridor SEO directory */
.corridor-directory{padding-top:1rem;padding-bottom:4rem}.corridor-intro{max-width:800px;line-height:1.75;color:#546960}.corridor-nav{display:flex;flex-wrap:wrap;gap:.75rem;margin:1.8rem 0}.corridor-nav a{padding:.7rem 1rem;background:#edf1ec;border:1px solid #d5e1d8;border-radius:100px;color:#183b33;text-decoration:none;font-size:.85rem}.corridor-nav a:hover,.corridor-nav a:focus-visible{background:#dce8df}.corridor-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1.25rem;margin:1.4rem 0 3rem}.corridor-card{background:#f3f0e9;border:1px solid #e6dfd3;border-radius:14px;padding:1.5rem;scroll-margin-top:90px}.corridor-card h3{margin:.15rem 0 1rem;font-size:1.25rem;color:#15382f}.corridor-card p{color:#53645d;line-height:1.7}.corridor-places{display:flex;flex-wrap:wrap;gap:.5rem;list-style:none;margin:1.2rem 0 0;padding:0}.corridor-places li{background:#fff;border:1px solid #e6dfd3;border-radius:6px;padding:.4rem .7rem;font-size:.84rem;color:#29443a}.corridor-cta{display:flex;gap:.8rem;flex-wrap:wrap;margin-top:1.25rem}@media(max-width:700px){.corridor-grid{grid-template-columns:1fr}.corridor-card{padding:1.1rem}.corridor-nav{gap:.45rem}}
.location-crosslink{margin:1.5rem auto 3rem;padding:1.2rem 1.5rem;background:#eaf0eb;border-left:3px solid #2d6758;border-radius:8px}.location-crosslink p{margin:.4rem 0 0;color:#496158}.location-crosslink a{font-weight:700;color:#154f3d}


/* V30: prevent mobile quote forms from overflowing the viewport. */
.enquiry-grid,.enquiry-grid>*,.quote-form,.quote-form>*,.quote-form label,
.quote-form .privacy-disclosure,.quote-form .form-feedback{
  min-width:0;
  max-width:100%;
}
.enquiry-grid>div>a{overflow-wrap:anywhere;word-break:break-word;}
.quote-form{width:100%;grid-template-columns:repeat(2,minmax(0,1fr));}
.quote-form label{width:100%;}
.quote-form input,.quote-form select,.quote-form textarea{
  display:block;width:100%;max-width:100%;min-width:0;
  min-height:48px;box-sizing:border-box;
}
.quote-form textarea{resize:vertical;min-height:130px;}
.quote-form .quote-captcha{min-width:0;max-width:100%;grid-column:1/-1;}
.quote-form .privacy-disclosure,.quote-form .form-feedback{grid-column:1/-1;overflow-wrap:anywhere;}
.quote-form button[type=submit]{grid-column:1/-1;justify-self:start;}
/* One-column form on phones and small tablets, including landscape orientations. */
@media(max-width:900px){
  .enquiry-grid{display:grid;grid-template-columns:minmax(0,1fr);gap:28px;}
  .enquiry-grid>form{margin-top:0;}
  .quote-form{display:grid;grid-template-columns:minmax(0,1fr);gap:17px;}
  .quote-form .full,.quote-form>*,.quote-form small{grid-column:1/-1;}
  .quote-form .quote-captcha{justify-self:start;}
}
/* hCaptcha's standard desktop checkbox is 303px wide. On very narrow phones,
   scale its visual widget while retaining interaction and its allocated height. */
@media(max-width:365px){
  .quote-form .quote-captcha{transform:scale(.84);transform-origin:left top;margin-bottom:-12px;}
}
