/*
Theme Name: Delight Photos & Graphics
Author: Delight Photos & Graphics Tech
Description: Photography, creative services and printing website.
Version: 1.0.0
Requires at least: 6.0
Text Domain: delight-photos-graphics
*/


:root { --ink:#0c1021; --cream:#f6f2e9; --paper:#fffdf8; --coral:#ff5a45; --yellow:#ffd852; --blue:#4f70ff; --green:#4ed7a5; --purple:#b98cff; }
* { box-sizing:border-box; }
html { scroll-behavior:smooth; }
body { margin:0; background:var(--paper); color:var(--ink); font-family:var(--font-body),Arial,sans-serif; }
button,a { font:inherit; }
a { color:inherit; text-decoration:none; }
button { color:inherit; }

.site-header { height:86px; display:flex; align-items:center; justify-content:space-between; padding:0 clamp(22px,5vw,76px); background:rgba(255,253,248,.92); border-bottom:1px solid rgba(12,16,33,.1); position:sticky; top:0; z-index:50; backdrop-filter:blur(18px); }
.brand { display:flex; align-items:center; gap:11px; min-width:270px; }
.brand-logo { display:block; width:auto; height:76px; object-fit:contain; }
.brand-copy { display:flex; flex-direction:column; line-height:1; }
.brand-copy strong { font-family:var(--font-display); font-size:19px; letter-spacing:.02em; }
.brand-copy small { font-size:9px; letter-spacing:.1em; margin-top:6px; font-weight:800; text-transform:uppercase; }
.footer-brand { min-width:120px; justify-content:center; }
.footer-brand .brand-logo { height:118px; }
nav { display:flex; gap:clamp(22px,3.3vw,48px); font-size:14px; font-weight:600; }
nav a { position:relative; }
nav a::after { content:""; position:absolute; height:2px; background:var(--coral); left:0; right:100%; bottom:-7px; transition:right .2s ease; }
nav a:hover::after,nav a:focus-visible::after { right:0; }
.header-cta { border:1px solid var(--ink); border-radius:100px; padding:12px 18px; font-size:13px; font-weight:700; transition:.2s ease; }
.header-cta:hover { background:var(--ink); color:white; transform:translateY(-2px); }

.hero { min-height:calc(100svh - 86px); display:grid; grid-template-columns:1.03fr .97fr; overflow:hidden; }
.hero-copy { padding:clamp(70px,9vw,132px) 4vw 64px clamp(24px,7.5vw,112px); display:flex; flex-direction:column; align-items:flex-start; }
.eyebrow { margin:0 0 24px; text-transform:uppercase; letter-spacing:.17em; font-size:11px; font-weight:800; display:flex; align-items:center; gap:10px; }
.eyebrow>span { width:23px; height:2px; background:var(--coral); display:inline-block; }
.hero h1,.section-heading h2 { font-family:var(--font-display); letter-spacing:-.065em; line-height:.99; margin:0; }
.hero h1 { font-size:clamp(45px,5.6vw,85px); max-width:810px; font-weight:800; }
.hero h1 em { color:var(--coral); font-style:normal; }
.hero-intro { max-width:610px; margin:30px 0 0; font-size:clamp(16px,1.4vw,20px); line-height:1.65; color:#515566; }
.hero-actions { display:flex; align-items:center; gap:30px; margin-top:38px; }
.primary-button { border:0; background:var(--ink); color:white; border-radius:100px; padding:17px 22px; font-weight:700; cursor:pointer; box-shadow:5px 5px 0 var(--coral); transition:.2s ease; }
.primary-button:hover { transform:translate(-2px,-2px); box-shadow:8px 8px 0 var(--coral); }
.primary-button span { padding-left:17px; }
.text-link { font-size:14px; font-weight:700; border-bottom:1px solid var(--ink); padding:8px 0; }
.text-link span { margin-left:7px; }
.hero-proof { width:min(640px,100%); display:grid; grid-template-columns:repeat(3,1fr); margin-top:auto; padding-top:52px; }
.hero-proof div { display:flex; flex-direction:column; border-left:1px solid #d8d4ca; padding-left:17px; }
.hero-proof strong { font-family:var(--font-display); font-size:17px; }
.hero-proof span { font-size:11px; color:#777a85; margin-top:5px; }

.visitor-actions { padding:clamp(70px,8vw,110px) clamp(22px,7.5vw,112px); background:var(--paper); display:grid; grid-template-columns:.8fr 1.2fr; gap:7vw; align-items:end; }
.visitor-actions-intro h2 { font-family:var(--font-display); font-size:clamp(42px,5vw,70px); letter-spacing:-.06em; line-height:1; margin:0; }
.visitor-actions-intro>p:last-child { color:#626673; max-width:520px; line-height:1.65; margin:25px 0 0; }
.visitor-actions-grid { display:grid; grid-template-columns:repeat(3,1fr); gap:12px; }
.visitor-actions-grid>a { min-height:235px; border:1px solid rgba(12,16,33,.18); padding:23px; display:flex; flex-direction:column; background:var(--cream); transition:transform .22s ease,box-shadow .22s ease,background .22s ease; }
.visitor-actions-grid>a:nth-child(2) { background:#fff0ad; }
.visitor-actions-grid>a:nth-child(3) { background:#b9f2dd; }
.visitor-actions-grid>a:hover { transform:translateY(-6px); box-shadow:8px 9px 0 var(--ink); }
.visitor-actions-grid span { font-size:10px; letter-spacing:.15em; font-weight:900; }
.visitor-actions-grid strong { font-family:var(--font-display); font-size:22px; line-height:1.15; margin-top:auto; }
.visitor-actions-grid p { color:#565a66; font-size:12px; line-height:1.55; margin:12px 0 0; }

.hero-art { position:relative; min-height:670px; background:var(--blue); isolation:isolate; overflow:hidden; }
.hero-art::before { content:""; position:absolute; inset:0; opacity:.24; background-image:linear-gradient(rgba(255,255,255,.22) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.22) 1px,transparent 1px); background-size:62px 62px; }
.art-orbit { position:absolute; border:1px solid rgba(255,255,255,.46); border-radius:50%; }
.orbit-one { width:720px; height:720px; left:3%; top:8%; }
.orbit-two { width:490px; height:490px; left:21%; top:25%; }
.photo-frame { position:absolute; width:min(48%,360px); aspect-ratio:4/5.25; top:15%; left:28%; background:#ffc6a9; border:10px solid var(--paper); box-shadow:20px 24px 0 rgba(12,16,33,.22); transform:rotate(-4deg); overflow:hidden; }
.photo-frame>img { width:100%; height:100%; display:block; object-fit:cover; object-position:center 30%; }
.frame-label { position:absolute; z-index:3; top:14px; left:17px; font-size:8px; letter-spacing:.18em; font-weight:800; }
.portrait-shape { position:absolute; inset:0; background:radial-gradient(circle at 62% 20%,#ffe2ca 0 7%,transparent 7.4%),linear-gradient(160deg,transparent 38%,rgba(255,255,255,.35) 38% 46%,transparent 46%); }
.portrait-head { position:absolute; width:36%; aspect-ratio:.82; background:var(--ink); border-radius:46% 46% 42% 42%; left:32%; top:21%; box-shadow:inset 8px 3px 0 #2e3456; }
.portrait-head::after { content:""; position:absolute; width:70%; height:62%; background:#a95f46; border-radius:44%; left:16%; top:28%; }
.portrait-body { position:absolute; width:78%; height:51%; background:var(--coral); border-radius:44% 44% 0 0; left:11%; bottom:-4%; box-shadow:inset 25px 0 0 #e33d32; }
.focus-corner { position:absolute; width:25px; height:25px; z-index:4; }
.focus-one { right:17px; top:17px; border-right:2px solid var(--ink); border-top:2px solid var(--ink); }
.focus-two { left:17px; bottom:17px; border-left:2px solid var(--ink); border-bottom:2px solid var(--ink); }
.floating-card { position:absolute; z-index:4; box-shadow:12px 14px 0 rgba(12,16,33,.2); }
.card-print { width:160px; height:125px; background:var(--yellow); left:9%; top:58%; padding:18px; transform:rotate(7deg); }
.card-print span,.card-passport span { display:block; font-size:9px; letter-spacing:.14em; font-weight:800; }
.card-print strong { font-family:var(--font-display); font-size:28px; display:block; margin-top:5px; }
.card-print i { position:absolute; left:18px; right:18px; bottom:18px; height:13px; background:linear-gradient(90deg,#01a8e9 0 25%,#e53f91 25% 50%,#f9e000 50% 75%,#111 75%); }
.card-passport { width:165px; height:122px; right:9%; top:27%; padding:18px; background:var(--paper); transform:rotate(7deg); }
.card-passport strong { display:block; font-size:18px; margin-top:9px; }
.card-passport small { position:absolute; right:13px; bottom:12px; background:var(--green); font-size:8px; font-weight:900; padding:5px 7px; border-radius:20px; }
.spark { position:absolute; color:var(--yellow); font-size:30px; }
.spark-one { right:15%; bottom:23%; }
.spark-two { left:16%; top:17%; font-size:18px; }
.art-caption { position:absolute; bottom:24px; left:28px; right:28px; color:white; font-size:9px; letter-spacing:.14em; font-weight:800; display:flex; justify-content:space-between; }

.services-section { background:var(--ink); color:white; padding:clamp(75px,9vw,130px) clamp(22px,7.5vw,112px); }
.section-heading { display:flex; justify-content:space-between; align-items:end; gap:40px; }
.section-heading h2 { font-size:clamp(45px,6vw,82px); }
.section-heading>p { color:#adb1c0; max-width:360px; font-size:16px; line-height:1.6; margin:0 0 8px; }
.eyebrow.light { color:var(--yellow); }
.eyebrow.light>span { background:var(--yellow); }
.filter-bar { display:flex; flex-wrap:wrap; gap:8px; margin:52px 0 32px; }
.filter-bar button { border:1px solid #41465d; background:transparent; color:#c9ccda; padding:10px 15px; border-radius:100px; cursor:pointer; font-size:12px; transition:.2s ease; }
.filter-bar button:hover,.filter-bar button.active { color:var(--ink); border-color:var(--yellow); background:var(--yellow); }
.service-grid { display:grid; grid-template-columns:repeat(3,1fr); gap:16px; }
.service-card { min-height:400px; color:var(--ink); border-radius:5px; padding:25px; display:flex; flex-direction:column; transition:transform .25s ease,box-shadow .25s ease; }
.service-card:hover { transform:translateY(-7px); box-shadow:0 20px 50px rgba(0,0,0,.28); }
.service-card.coral { background:#ff806f; }.service-card.yellow { background:var(--yellow); }.service-card.blue { background:#7891ff; }.service-card.purple { background:var(--purple); }.service-card.green { background:var(--green); }.service-card.navy { background:#dbe0f7; }
.service-top,.service-meta { display:flex; justify-content:space-between; align-items:center; }
.service-top { font-size:10px; text-transform:uppercase; letter-spacing:.12em; font-weight:800; }
.service-symbol { width:96px; height:92px; margin:35px auto 30px; position:relative; }
.service-symbol i { position:absolute; display:block; border:2px solid var(--ink); border-radius:50%; }
.service-symbol i:nth-child(1) { width:78px; height:78px; left:0; top:10px; }
.service-symbol i:nth-child(2) { width:58px; height:58px; right:0; top:0; }
.service-symbol i:nth-child(3) { width:13px; height:13px; right:3px; bottom:3px; background:var(--ink); }
.service-image { height:150px; margin:24px -8px 22px; overflow:hidden; border:2px solid rgba(12,16,33,.88); box-shadow:7px 7px 0 rgba(12,16,33,.18); }
.service-image img { width:100%; height:100%; object-fit:cover; display:block; filter:saturate(.92) contrast(1.03); transition:transform .45s ease; }
.service-card:hover .service-image img { transform:scale(1.045); }
.service-card h3 { font-family:var(--font-display); font-size:25px; line-height:1.1; letter-spacing:-.03em; margin:0; }
.service-card>p { font-size:13px; line-height:1.6; margin:12px 0 24px; }
.service-meta { border-top:1px solid rgba(12,16,33,.3); margin-top:auto; padding-top:16px; font-size:10px; font-weight:700; }
.service-meta a { width:29px; height:29px; border:1px solid var(--ink); border-radius:50%; display:grid; place-items:center; transition:.2s; }
.service-meta a:hover { background:var(--ink); color:white; }
.offers-section { padding:clamp(78px,9vw,130px) clamp(22px,7.5vw,112px); background:var(--cream); }
.offers-intro { display:grid; grid-template-columns:.75fr 1.25fr .8fr; align-items:end; gap:40px; margin-bottom:50px; }
.offers-intro .eyebrow { align-self:start; }
.offers-intro h2,.contact-copy h2 { font-family:var(--font-display); font-size:clamp(44px,5.8vw,78px); line-height:1; letter-spacing:-.06em; margin:0; }
.offers-intro>p:last-child { margin:0; color:#666a77; font-size:15px; line-height:1.65; }
.offers-grid { display:grid; grid-template-columns:repeat(3,1fr); gap:18px; }
.offer-card { border:1px solid rgba(12,16,33,.18); background:var(--paper); min-height:620px; padding:28px; display:flex; flex-direction:column; position:relative; overflow:hidden; transition:.25s ease; }
.offer-card::before { content:""; height:8px; position:absolute; left:0; right:0; top:0; }
.offer-card.offer-coral::before { background:var(--coral); }.offer-card.offer-blue::before { background:var(--blue); }.offer-card.offer-yellow::before { background:var(--yellow); }
.offer-card:hover { transform:translateY(-7px); box-shadow:14px 16px 0 var(--ink); }
.offer-photo { height:190px; margin:-3px -3px 20px; position:relative; overflow:hidden; background:#ddd7cb; }
.offer-photo img { width:100%; height:100%; object-fit:cover; display:block; transition:transform .5s ease; }
.offer-card:hover .offer-photo img { transform:scale(1.045); }
.offer-photo span { position:absolute; right:10px; bottom:8px; color:white; font-family:var(--font-display); font-size:38px; font-weight:800; line-height:1; text-shadow:0 2px 18px rgba(0,0,0,.7); }
.offer-number { font-family:var(--font-display); font-size:74px; font-weight:800; letter-spacing:-.09em; color:#e1ddd4; line-height:1; text-align:right; }
.offer-tag { text-transform:uppercase; font-size:10px; letter-spacing:.16em; font-weight:800; margin:16px 0; }
.offer-card h3 { margin:0; font-family:var(--font-display); font-size:35px; letter-spacing:-.05em; }
.offer-summary { color:#5d606d; line-height:1.55; font-size:14px; min-height:68px; }
.offer-card ul { list-style:none; padding:19px 0; margin:10px 0 26px; border-top:1px solid #d8d4ca; }
.offer-card li { font-size:13px; margin:13px 0; display:flex; gap:10px; }
.offer-card li span { color:var(--coral); font-weight:900; }
.offer-card button { margin-top:auto; width:100%; border:1px solid var(--ink); background:transparent; padding:14px; cursor:pointer; display:flex; justify-content:space-between; font-weight:700; transition:.2s; }
.offer-card button:hover { background:var(--ink); color:white; }
.offers-note { text-align:center; color:#6f727e; font-size:12px; margin:28px 0 0; }

.story-strip { padding:18px; background:var(--paper); display:grid; grid-template-columns:1.18fr .82fr; gap:18px; }
.story-strip figure { margin:0; position:relative; overflow:hidden; background:var(--ink); min-height:330px; }
.story-large { min-height:678px!important; }
.story-strip img { width:100%; height:100%; position:absolute; inset:0; object-fit:cover; display:block; transition:transform .65s ease; }
.story-strip figure::after { content:""; position:absolute; inset:0; background:linear-gradient(180deg,transparent 44%,rgba(5,8,20,.82) 100%); }
.story-strip figure:hover img { transform:scale(1.035); }
.story-strip figcaption { position:absolute; z-index:2; left:30px; right:30px; bottom:28px; color:white; display:flex; flex-direction:column; gap:7px; }
.story-strip figcaption span { color:var(--yellow); font-size:9px; letter-spacing:.18em; font-weight:900; }
.story-strip figcaption strong { font-family:var(--font-display); font-size:clamp(24px,3vw,42px); letter-spacing:-.045em; }
.story-stack { display:grid; grid-template-rows:1fr 1fr; gap:18px; }
.story-stack figure { min-height:330px; }
.story-stack figcaption { left:24px; bottom:22px; }
.story-stack figcaption strong { font-size:clamp(22px,2.3vw,31px); }

.process-section { background:var(--blue); color:white; padding:clamp(75px,8vw,120px) clamp(22px,7.5vw,112px); display:grid; grid-template-columns:.75fr 1.25fr; gap:8vw; }
.process-title h2 { font-family:var(--font-display); font-size:clamp(52px,6.3vw,88px); line-height:.9; letter-spacing:-.065em; margin:0; }
.process-title h2 em { color:var(--yellow); font-style:normal; }
.process-section ol { margin:0; padding:0; list-style:none; }
.process-section li { display:grid; grid-template-columns:72px 1fr; gap:20px; border-top:1px solid rgba(255,255,255,.35); padding:28px 0; }
.process-section li:last-child { border-bottom:1px solid rgba(255,255,255,.35); }
.process-section li>span { color:var(--yellow); font-family:var(--font-display); font-weight:800; font-size:21px; }
.process-section li strong { font-family:var(--font-display); font-size:23px; }
.process-section li p { color:#d8ddff; line-height:1.55; margin:8px 0 0; font-size:14px; max-width:490px; }

.contact-section { display:grid; grid-template-columns:.92fr 1.08fr; min-height:800px; }
.contact-copy { background:var(--yellow); padding:clamp(70px,8vw,120px) clamp(22px,7vw,102px); position:relative; overflow:hidden; }
.contact-copy>p:not(.eyebrow) { max-width:530px; font-size:17px; line-height:1.65; margin:30px 0 44px; }
.contact-facts { display:grid; grid-template-columns:1fr 1fr; gap:15px; }
.contact-facts>a,.contact-item { display:flex; flex-direction:column; padding:16px 8px 10px 0; border-top:1px solid rgba(12,16,33,.35); transition:transform .2s ease,border-color .2s ease; }
.contact-facts>a:hover,.contact-item:hover { transform:translateY(-3px); border-color:var(--ink); }
.contact-facts span { font-size:9px; letter-spacing:.16em; font-weight:800; }
.contact-facts strong { font-size:clamp(13px,1.2vw,17px); margin-top:8px; overflow-wrap:anywhere; }
.contact-facts small { font-size:11px; color:#69624f; margin-top:4px; }
.contact-item { margin:0; font-style:normal; }
.contact-emails>a { font-size:clamp(11px,1vw,14px); font-weight:800; line-height:1.3; margin-top:7px; overflow-wrap:anywhere; }
.contact-seal { width:170px; height:170px; border-radius:50%; border:1px solid var(--ink); position:absolute; right:-24px; bottom:-24px; display:grid; place-items:center; text-align:center; transform:rotate(10deg); }
.contact-seal::after { content:""; position:absolute; inset:8px; border:1px dashed var(--ink); border-radius:50%; }
.contact-seal span { position:absolute; top:24px; }
.contact-seal strong { font-size:12px; letter-spacing:.15em; line-height:1.4; }
.enquiry-card { background:var(--ink); color:white; padding:clamp(70px,8vw,112px) clamp(22px,8vw,118px); display:flex; flex-direction:column; }
.form-heading { display:flex; justify-content:space-between; font-size:10px; letter-spacing:.16em; color:#aeb2c1; border-bottom:1px solid #42465a; padding-bottom:16px; margin-bottom:25px; }
.enquiry-card label { display:flex; flex-direction:column; gap:9px; margin-bottom:19px; font-size:11px; font-weight:700; letter-spacing:.04em; }
.enquiry-card input,.enquiry-card select,.enquiry-card textarea { width:100%; border:1px solid #44495d; border-radius:0; background:#171c31; color:white; padding:14px 15px; outline:none; font:inherit; font-size:14px; resize:vertical; }
.enquiry-card input::placeholder,.enquiry-card textarea::placeholder { color:#797e91; }
.enquiry-card input:focus,.enquiry-card select:focus,.enquiry-card textarea:focus { border-color:var(--yellow); box-shadow:0 0 0 1px var(--yellow); }
.whatsapp-button { margin-top:5px; border:0; background:var(--green); color:var(--ink); padding:16px 18px; display:flex; justify-content:space-between; font-weight:800; cursor:pointer; transition:.2s; }
.whatsapp-button:hover { background:var(--yellow); }
.copy-button { border:0; background:transparent; color:#c7cbd8; text-decoration:underline; cursor:pointer; margin:15px auto 3px; font-size:12px; }
.privacy-note { color:#777c8e; text-align:center; font-size:10px; line-height:1.5; margin:8px auto 0; max-width:320px; }
footer { min-height:130px; padding:30px clamp(22px,5vw,76px); display:flex; align-items:center; justify-content:space-between; gap:30px; background:var(--paper); border-top:1px solid #dedad1; }
footer p { font-size:11px; color:#696d7a; letter-spacing:.03em; text-align:center; }
footer address { font-size:11px; color:#696d7a; font-style:normal; text-align:center; }
footer>a:last-child { font-size:12px; font-weight:700; margin-right:92px; }
.footer-details { display:flex; flex-direction:column; align-items:center; gap:8px; }
.footer-details p { margin:0; }
.footer-details>div { display:flex; flex-wrap:wrap; justify-content:center; gap:9px 18px; font-size:11px; font-weight:700; }
.footer-details a { border-bottom:1px solid #c9c5bc; padding-bottom:2px; }
.whatsapp-float { position:fixed; right:22px; bottom:22px; z-index:60; display:flex; align-items:center; gap:9px; border:1px solid var(--ink); border-radius:100px; padding:8px 13px 8px 8px; background:var(--green); color:var(--ink); box-shadow:5px 6px 0 rgba(12,16,33,.9); font-weight:800; transition:transform .2s ease,box-shadow .2s ease; }
.whatsapp-float span { width:34px; height:34px; border-radius:50%; display:grid; place-items:center; background:var(--ink); color:white; font-size:10px; letter-spacing:.04em; }
.whatsapp-float small { font-size:12px; }
.whatsapp-float:hover { transform:translate(-2px,-2px); box-shadow:8px 9px 0 rgba(12,16,33,.9); }

@media (max-width:980px) { nav{display:none}.hero{grid-template-columns:1fr}.hero-copy{min-height:720px}.hero-art{min-height:620px}.visitor-actions{grid-template-columns:1fr}.visitor-actions-grid{grid-template-columns:repeat(3,1fr)}.service-grid{grid-template-columns:repeat(2,1fr)}.offers-intro{grid-template-columns:1fr 1fr}.offers-intro .eyebrow{grid-column:1/-1}.offers-grid{grid-template-columns:1fr}.offer-card{min-height:590px}.story-strip{grid-template-columns:1fr}.story-large{min-height:560px!important}.story-stack{grid-template-columns:1fr 1fr;grid-template-rows:1fr}.contact-section{grid-template-columns:1fr}.process-section{grid-template-columns:1fr}.process-title{margin-bottom:20px} }
@media (max-width:640px) {
  .site-header{height:78px;padding:0 16px}.brand{min-width:0;gap:8px}.brand-logo{height:66px}.brand-copy strong{font-size:16px}.brand-copy small{font-size:7px;letter-spacing:.07em;margin-top:5px}.header-cta{font-size:0;width:42px;height:42px;padding:0;display:grid;place-items:center}.header-cta span{font-size:18px}
  .hero-copy{padding:62px 22px 42px;min-height:660px}.hero-actions{align-items:flex-start;flex-direction:column;gap:18px}.hero-proof{gap:8px}.hero-proof div{padding-left:10px}.hero-proof strong{font-size:14px}.hero-proof span{font-size:9px}.hero-art{min-height:520px}.photo-frame{width:52%;left:24%}.card-print{left:3%;top:61%;transform:scale(.82) rotate(7deg)}.card-passport{right:0;transform:scale(.82) rotate(7deg)}
  .visitor-actions{padding-top:65px;padding-bottom:65px}.visitor-actions-grid{grid-template-columns:1fr}.visitor-actions-grid>a{min-height:190px}.section-heading{align-items:flex-start;flex-direction:column}.service-grid{grid-template-columns:1fr}.service-card{min-height:420px}.service-image{height:170px}.offers-intro{grid-template-columns:1fr}.offers-intro .eyebrow{grid-column:auto}.offers-grid{grid-template-columns:1fr}.offer-card{min-height:580px}.story-strip{padding:9px;gap:9px}.story-large{min-height:480px!important}.story-stack{grid-template-columns:1fr;gap:9px}.story-stack figure{min-height:300px}.story-strip figcaption{left:20px;right:20px;bottom:18px}.process-section li{grid-template-columns:52px 1fr}.contact-facts{grid-template-columns:1fr}.contact-seal{opacity:.3}.enquiry-card{padding-top:70px;padding-bottom:70px}footer{flex-direction:column;text-align:center}.footer-brand{min-width:auto}.footer-brand .brand-logo{height:150px}.footer-details>div{flex-direction:column;gap:7px}footer>a:last-child{margin-right:0}.whatsapp-float{right:14px;bottom:14px}.whatsapp-float small{display:none}.whatsapp-float{padding:7px}
}
@media (prefers-reduced-motion:reduce) { *{scroll-behavior:auto!important;transition:none!important} }

/* A quiet editorial rhythm: reveal work as it enters view, with the portrait as the focal point. */
@media (prefers-reduced-motion:no-preference) {
  .hero-copy > .eyebrow,.hero-copy h1,.hero-intro,.hero-actions,.hero-proof { animation:hero-enter .75s both cubic-bezier(.2,.7,.2,1); }
  .hero-copy h1 { animation-delay:.08s; }.hero-intro { animation-delay:.17s; }.hero-actions { animation-delay:.26s; }.hero-proof { animation-delay:.34s; }
  .photo-frame { animation:portrait-arrive 1s .2s both cubic-bezier(.2,.7,.2,1),portrait-float 7s 1.2s infinite ease-in-out; }
  .photo-frame > img { animation:portrait-breathe 11s 1s infinite ease-in-out alternate; }
  .card-print { animation:card-drift 6s 1s infinite ease-in-out alternate; }
  .card-passport { animation:card-drift 7s 1.3s infinite ease-in-out alternate-reverse; }
  .spark { animation:spark-pulse 3.6s infinite ease-in-out; }
  .service-card,.offer-card,.story-strip figure,.process-section li,.visitor-actions-grid > a { opacity:0; translate:0 24px; transition:opacity .7s ease,translate .7s cubic-bezier(.2,.7,.2,1),transform .25s ease,box-shadow .25s ease; }
  .service-card.is-visible,.offer-card.is-visible,.story-strip figure.is-visible,.process-section li.is-visible,.visitor-actions-grid > a.is-visible { opacity:1; translate:0 0; }
  .service-grid .service-card:nth-child(3n+2),.offers-grid .offer-card:nth-child(2),.visitor-actions-grid > a:nth-child(2) { transition-delay:90ms; }
  .service-grid .service-card:nth-child(3n),.offers-grid .offer-card:nth-child(3),.visitor-actions-grid > a:nth-child(3) { transition-delay:170ms; }
  @keyframes hero-enter { from { opacity:0; transform:translateY(20px); } to { opacity:1; transform:translateY(0); } }
  @keyframes portrait-arrive { from { opacity:0; transform:translateY(35px) rotate(-9deg) scale(.94); } to { opacity:1; transform:translateY(0) rotate(-4deg) scale(1); } }
  @keyframes portrait-float { 0%,100% { transform:translateY(0) rotate(-4deg); } 50% { transform:translateY(-12px) rotate(-2deg); } }
  @keyframes portrait-breathe { from { transform:scale(1); } to { transform:scale(1.065); } }
  @keyframes card-drift { from { translate:0 0; } to { translate:0 -9px; } }
  @keyframes spark-pulse { 0%,100% { opacity:.55; scale:.85; } 50% { opacity:1; scale:1.15; } }
}
@media (prefers-reduced-motion:reduce) { *,*::before,*::after { animation:none!important; transition:none!important; } }

:root { --font-body:Arial,sans-serif; --font-display:Arial,sans-serif; }
.service-card[hidden] { display:none!important; }
