:root{--paper:#fffaf2;--paper-dark:#f3ebdf;--ink:#202622;--muted:#697069;--pink:#e64185;--green:#b8e8c7;--green-dark:#2e5b45;--line:#d9d1c5;--serif:"Libre Caslon Text",Georgia,serif;--sans:"DM Sans",Arial,sans-serif}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--paper);color:var(--ink);font-family:var(--sans);font-size:16px;line-height:1.65}a{color:inherit;text-decoration:none}.skip-link{position:absolute;left:-999px;top:8px;background:#fff;padding:10px;z-index:99}.skip-link:focus{left:8px}.site-header{height:82px;display:flex;align-items:center;justify-content:space-between;padding:0 max(5vw,24px);border-bottom:1px solid var(--line);position:relative;z-index:20;background:rgba(255,250,242,.94);backdrop-filter:blur(10px)}.brand{display:flex;align-items:center;gap:12px;font-family:var(--serif);font-size:20px}.brand-mark{display:grid;place-items:center;width:38px;height:38px;border-radius:50% 45% 50% 42%;background:var(--pink);color:white;font-style:italic;font-size:22px;transform:rotate(-5deg)}nav{display:flex;align-items:center;gap:30px;font-size:14px;font-weight:600}nav a:not(.nav-cta):hover{color:var(--pink)}.nav-cta,.button{display:inline-flex;align-items:center;justify-content:center;padding:12px 20px;border-radius:3px;font-weight:600;transition:.2s}.nav-cta,.primary{background:var(--ink);color:white}.nav-cta:hover,.primary:hover{background:var(--pink);transform:translateY(-2px)}.menu-button{display:none;border:0;background:none;font:600 14px var(--sans)}.hero{min-height:calc(100vh - 82px);padding:8vw max(5vw,24px) 5vw;display:grid;grid-template-columns:1.15fr .85fr;align-items:center;gap:6vw;position:relative;overflow:hidden}.hero:before{content:"";position:absolute;width:360px;height:360px;border:1px solid var(--line);border-radius:50%;left:-210px;top:15%}.eyebrow{text-transform:uppercase;letter-spacing:.16em;font-size:12px;font-weight:600;color:var(--green-dark);margin:0 0 24px}.hero h1,.section h2,.contact h2{font:400 clamp(48px,6.5vw,96px)/.98 var(--serif);letter-spacing:-.055em;margin:0}.hero h1 em,.section h2 em,.contact h2 em{color:var(--pink);font-weight:400}.hero-lead{max-width:600px;font-size:18px;color:var(--muted);margin:32px 0}.hero-actions{display:flex;align-items:center;gap:28px}.button{padding:15px 25px}.text-link{font-weight:600;border-bottom:1px solid var(--ink)}.hero-art{position:relative;min-height:500px;background:var(--green);border-radius:50% 50% 3px 3px;overflow:hidden}.sun{position:absolute;width:90px;height:90px;border:1px solid var(--green-dark);border-radius:50%;top:55px;right:70px}.house{position:absolute;width:220px;height:190px;background:#fff5e9;bottom:100px;left:50%;transform:translateX(-50%);box-shadow:12px 12px 0 rgba(32,38,34,.1)}.roof{position:absolute;width:174px;height:174px;background:var(--pink);transform:rotate(45deg);left:23px;top:-86px;z-index:-1}.door{position:absolute;width:55px;height:95px;bottom:0;left:30px;background:var(--ink)}.window{position:absolute;display:grid;grid-template-columns:1fr 1fr;gap:3px;right:35px;top:45px;width:70px;height:70px}.window span{background:#f6c34a}.path{position:absolute;height:110px;width:90px;background:#e8d7c4;bottom:0;left:36%;transform:skew(-15deg)}.hero-art p{position:absolute;right:25px;bottom:22px;text-align:right;font:18px var(--serif);z-index:2}.hero-art p em{color:var(--pink)}.hero-note{position:absolute;right:max(5vw,24px);bottom:15px;font:italic 14px var(--serif)}.section{padding:120px max(5vw,24px);border-top:1px solid var(--line)}.section-number{font:12px var(--sans);letter-spacing:.14em;text-transform:uppercase;color:var(--muted);margin-bottom:65px}.intro{display:grid;grid-template-columns:1fr 4fr}.intro .section-number{grid-column:1}.intro-content{grid-column:2}.section h2{font-size:clamp(42px,5vw,72px)}.two-columns{display:grid;grid-template-columns:1fr 1fr;gap:5vw;max-width:950px;margin-top:50px;color:var(--muted);font-size:17px}.promise-band{display:flex;gap:35px;justify-content:center;align-items:center;overflow:hidden;background:var(--ink);color:white;padding:20px;font:18px var(--serif);white-space:nowrap}.promise-band p{margin:0}.promise-band span{color:var(--pink)}.services .section-heading{display:grid;grid-template-columns:1fr 2fr;align-items:start;margin-bottom:70px}.services .section-heading .eyebrow{margin-top:10px}.service-grid{display:grid;grid-template-columns:repeat(3,1fr);border-top:1px solid var(--line);border-left:1px solid var(--line)}.service-card{min-height:310px;padding:30px;border-right:1px solid var(--line);border-bottom:1px solid var(--line);position:relative;transition:.25s}.service-card:hover{background:white;transform:translateY(-4px);box-shadow:0 16px 40px rgba(32,38,34,.08)}.service-card>span{font-size:11px;color:var(--muted)}.service-icon{font:42px var(--serif);color:var(--pink);margin:32px 0 20px}.service-card h3{font:24px var(--serif);margin:0 0 12px}.service-card p{color:var(--muted);font-size:14px}.service-note{text-align:center;margin:36px 0 0;font:italic 16px var(--serif)}.story{background:var(--paper-dark)}.story-layout{display:grid;grid-template-columns:.85fr 1.15fr;gap:9vw}.story-title{position:sticky;top:120px;align-self:start}.story-title blockquote{border-left:3px solid var(--pink);padding-left:22px;margin:50px 0 0;font:italic 18px/1.5 var(--serif)}.person{display:grid;grid-template-columns:155px 1fr;gap:30px;padding:0 0 50px;margin-bottom:50px;border-bottom:1px solid var(--line)}.portrait{width:155px;height:190px;background:var(--green);display:grid;place-items:center;border-radius:80px 80px 4px 4px}.portrait-two{background:#f1a7c6}.portrait span{font:italic 38px var(--serif);color:var(--green-dark)}.person h3{font:25px var(--serif);margin:0}.person .role{text-transform:uppercase;letter-spacing:.08em;font-size:11px;color:var(--pink);font-weight:600}.person p:last-child{color:var(--muted);font-size:14px}.pricing-wrap{display:grid;grid-template-columns:.8fr 1.2fr;gap:10vw}.pricing-copy p:last-child{color:var(--muted);max-width:460px}.price-list{border-top:1px solid var(--ink)}.price-row{display:flex;justify-content:space-between;align-items:center;gap:25px;padding:30px 20px;border-bottom:1px solid var(--line)}.price-row.featured{background:var(--green)}.price-row h3{font:21px var(--serif);margin:0}.price-row p{font-size:13px;color:var(--muted);margin:4px 0 0}.price-row strong{font:28px var(--serif);white-space:nowrap}.price-row small{font:12px var(--sans);color:var(--muted)}.payment-note{display:flex;gap:20px;max-width:750px;margin:60px 0 0 auto}.payment-note span{flex:0 0 30px;height:30px;border:1px solid var(--ink);border-radius:50%;display:grid;place-items:center;font-family:var(--serif)}.payment-note p{margin:0;color:var(--muted);font-size:14px}.contact{padding:120px max(5vw,24px);display:grid;grid-template-columns:1fr 1fr;gap:8vw;background:var(--pink);color:white}.contact .eyebrow{color:white}.contact h2 em{color:var(--ink)}.contact-copy>p:last-child{max-width:520px}.contact-card{background:var(--paper);color:var(--ink);padding:50px;align-self:center;box-shadow:15px 15px 0 rgba(32,38,34,.15)}.contact-label{text-transform:uppercase;letter-spacing:.15em;font-size:11px;color:var(--muted)}.contact-link{display:flex;justify-content:space-between;padding:22px 0;border-bottom:1px solid var(--line);font:22px var(--serif);overflow-wrap:anywhere}.contact-link:hover{color:var(--pink)}.contact-warning{font-size:12px;color:#9a4e1c;background:#fff0df;padding:12px;margin:25px 0 0}footer{display:grid;grid-template-columns:1fr 1fr 1fr;align-items:center;gap:25px;padding:40px max(5vw,24px);background:var(--ink);color:white;font-size:12px}footer p:nth-child(2){text-align:center}footer p:last-child{text-align:right}.reveal{opacity:0;transform:translateY(18px);transition:opacity .65s ease,transform .65s ease}.reveal.visible{opacity:1;transform:none}@media(max-width:900px){nav{position:absolute;display:none;flex-direction:column;align-items:stretch;top:82px;left:0;right:0;background:var(--paper);padding:25px;border-bottom:1px solid var(--line)}nav.open{display:flex}.menu-button{display:block}.hero{grid-template-columns:1fr;padding-top:70px}.hero-art{min-height:420px}.hero-note{display:none}.intro,.services .section-heading,.story-layout,.pricing-wrap,.contact{grid-template-columns:1fr}.intro .section-number,.intro-content{grid-column:1}.section-number{margin-bottom:40px}.service-grid{grid-template-columns:repeat(2,1fr)}.story-title{position:static}.contact{gap:55px}}@media(max-width:600px){.section{padding:85px 22px}.site-header{padding:0 22px}.hero{padding-left:22px;padding-right:22px}.hero h1{font-size:52px}.hero-art{min-height:350px}.house{transform:translateX(-50%) scale(.78);bottom:65px}.two-columns,.service-grid{grid-template-columns:1fr}.service-card{min-height:auto}.person{grid-template-columns:1fr}.portrait{width:120px;height:145px}.price-row{align-items:flex-start;flex-direction:column}.contact{padding:85px 22px}.contact-card{padding:30px 22px}.contact-link{font-size:17px}footer{grid-template-columns:1fr;text-align:left}footer p:nth-child(2),footer p:last-child{text-align:left}.hero-actions{align-items:flex-start;flex-direction:column}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}.reveal{opacity:1;transform:none;transition:none}}

/* Enriched hero illustration */
.hero-art{background:linear-gradient(165deg,#c9f0d5 0%,#a9dfbd 60%,#91cca8 100%);box-shadow:inset 0 0 0 1px rgba(46,91,69,.08)}
.sun{background:#f7c451;border:0;box-shadow:0 0 0 12px rgba(255,250,242,.25)}
.cloud{position:absolute;width:82px;height:23px;background:rgba(255,250,242,.82);border-radius:30px;z-index:1}
.cloud:before,.cloud:after{content:"";position:absolute;background:inherit;border-radius:50%;bottom:0}
.cloud:before{width:35px;height:35px;left:15px}.cloud:after{width:28px;height:28px;right:12px}
.cloud-one{top:82px;left:40px}.cloud-two{top:155px;right:28px;transform:scale(.7)}
.chimney{position:absolute;width:27px;height:65px;background:#bd336b;right:23px;top:-76px;z-index:-2}
.tree{position:absolute;width:15px;height:86px;background:#805b43;bottom:60px;z-index:2}
.tree:before,.tree:after{content:"";position:absolute;border-radius:50%;background:#3f7559}
.tree:before{width:74px;height:91px;left:-30px;top:-55px}.tree:after{width:52px;height:66px;left:-3px;top:-27px;background:#57936e}
.tree-one{left:38px}.tree-two{right:24px;bottom:82px;transform:scale(.72)}
.house{z-index:4}.path{z-index:3}
.people{position:absolute;left:54%;bottom:20px;width:120px;height:170px;z-index:7}
.figure{position:absolute;bottom:0;width:52px;height:155px}
.figure:before{content:"";position:absolute;width:31px;height:34px;border-radius:50%;background:#d59b78;left:10px;top:0}
.figure i{position:absolute;width:48px;height:78px;border-radius:25px 25px 8px 8px;left:2px;top:33px;background:#fff5e9}
.figure i:before,.figure i:after{content:"";position:absolute;width:12px;height:51px;background:var(--ink);top:70px;transform-origin:top}
.figure i:before{left:10px;transform:rotate(5deg)}.figure i:after{right:10px;transform:rotate(-5deg)}
.figure b{position:absolute;width:45px;height:11px;background:#d59b78;top:62px;left:-25px;transform:rotate(18deg);border-radius:10px}
.senior{left:0;transform:scale(.84);transform-origin:bottom}.senior i{background:#f1a7c6}.senior b{width:2px;height:64px;background:var(--ink);left:50px;top:88px;transform:rotate(-7deg)}
.carer{right:0}.carer:after{content:"";position:absolute;width:36px;height:27px;background:#4a312a;border-radius:50% 50% 35% 35%;left:8px;top:-3px;z-index:-1}
.flowers{position:absolute;left:19px;bottom:18px;display:flex;gap:14px;z-index:6}
.flowers i{width:8px;height:8px;background:var(--pink);border-radius:50%;box-shadow:0 9px 0 -2px #3f7559}
.flowers i:nth-child(even){background:#f6c34a;transform:translateY(-7px)}
.hero-art p{z-index:9}.service-icon{margin-top:10px}
.intro{display:block}.intro-content{max-width:1180px;margin-left:auto}
@media(max-width:600px){.people{left:51%;transform:scale(.82);transform-origin:bottom}.tree-one{left:22px}.tree-two{right:8px}.cloud-one{left:20px}}

/* Animated day-to-night neighborhood */
.hero-art{isolation:isolate;animation:sky-cycle 24s ease-in-out infinite;background:#a9dfbd}
.hero-art:after{content:"";position:absolute;inset:0;background:linear-gradient(to bottom,transparent 48%,rgba(43,105,72,.16));pointer-events:none;z-index:1}
.sun{z-index:2;animation:sun-cycle 24s ease-in-out infinite;transform-origin:260px 250px}
.moon{position:absolute;width:70px;height:70px;border-radius:50%;top:58px;left:58px;background:#fff7d7;box-shadow:inset -17px -8px 0 #d8dfd7,0 0 22px rgba(255,247,215,.45);z-index:2;opacity:0;animation:moon-cycle 24s ease-in-out infinite}
.sky-stars{position:absolute;inset:0 0 40%;z-index:1;opacity:0;animation:stars-cycle 24s linear infinite}
.sky-stars i{position:absolute;width:3px;height:3px;background:#fff;border-radius:50%;box-shadow:0 0 5px #fff}
.sky-stars i:nth-child(1){left:8%;top:20%}.sky-stars i:nth-child(2){left:18%;top:42%}.sky-stars i:nth-child(3){left:29%;top:15%}.sky-stars i:nth-child(4){left:40%;top:34%}.sky-stars i:nth-child(5){left:52%;top:12%}.sky-stars i:nth-child(6){left:62%;top:29%}.sky-stars i:nth-child(7){left:73%;top:16%}.sky-stars i:nth-child(8){left:84%;top:39%}.sky-stars i:nth-child(9){left:92%;top:13%}.sky-stars i:nth-child(10){left:34%;top:53%}.sky-stars i:nth-child(11){left:67%;top:51%}.sky-stars i:nth-child(12){left:12%;top:60%}
.cloud{animation:cloud-drift 15s ease-in-out infinite alternate;transition:background 2s}.cloud-two{animation-duration:19s;animation-delay:-5s}.cloud-three{top:205px;left:15%;transform:scale(.52);animation-duration:21s}.cloud-four{top:115px;left:53%;transform:scale(.42);animation-duration:17s;animation-delay:-8s}
.distant-hill{position:absolute;left:-8%;right:-8%;height:210px;bottom:0;background:#82c39b;border-radius:50% 50% 0 0;z-index:1;opacity:.62}
.village{position:absolute;inset:0;z-index:2}.mini-house{position:absolute;width:70px;height:59px;background:#fff0dc;bottom:80px;box-shadow:6px 7px 0 rgba(32,38,34,.09)}.mini-house b{position:absolute;width:54px;height:54px;left:8px;top:-28px;background:#d86691;transform:rotate(45deg);z-index:-1}.mini-house i{position:absolute;width:15px;height:27px;background:#28322c;bottom:0;left:10px}.mini-house span{position:absolute;width:18px;height:18px;background:#f5c452;right:10px;top:20px;animation:window-cycle 24s linear infinite}.home-one{left:9%;bottom:96px;transform:scale(.72)}.home-two{left:24%;bottom:65px;transform:scale(.55)}.home-three{right:23%;bottom:88px;transform:scale(.62)}.home-four{right:6%;bottom:67px;transform:scale(.48)}
.tree{z-index:4}.tree-three{left:13%;bottom:34px;transform:scale(.55)}.tree-four{left:28%;bottom:80px;transform:scale(.42)}.tree-five{right:18%;bottom:38px;transform:scale(.57)}.tree-six{right:7%;bottom:112px;transform:scale(.38)}
.house{animation:house-night 24s linear infinite}.window span{animation:window-cycle 24s linear infinite}.people{z-index:9}
.flowers{z-index:8}.flower-bed-one{left:18px;bottom:17px}.flower-bed-two{left:auto;right:18px;bottom:19px}.flowers i{animation:flower-sway 2.4s ease-in-out infinite alternate;transform-origin:bottom}.flowers i:nth-child(2n){animation-delay:-.8s}.flowers i:nth-child(3n){animation-delay:-1.5s}.flowers i:nth-child(4n){background:#8c64b8}.flowers i:nth-child(5n){background:#fff5e9}
@keyframes sky-cycle{0%,100%{background:#a9dfbd}22%{background:#82cde1}45%{background:#f3ad85}58%,78%{background:#263b55}90%{background:#806d89}}
@keyframes sun-cycle{0%,100%{opacity:1;transform:translate(0,0)}45%{opacity:1;transform:translate(-220px,95px)}52%,90%{opacity:0;transform:translate(-280px,150px)}}
@keyframes moon-cycle{0%,48%,100%{opacity:0;transform:translate(-80px,80px)}62%{opacity:1;transform:translate(110px,-10px)}78%{opacity:1;transform:translate(280px,12px)}90%{opacity:0;transform:translate(390px,90px)}}
@keyframes stars-cycle{0%,49%,95%,100%{opacity:0}60%,84%{opacity:.9}}
@keyframes window-cycle{0%,43%,100%{background:#f6c34a;box-shadow:none}56%,88%{background:#ffe47e;box-shadow:0 0 14px rgba(255,228,126,.95)}}
@keyframes house-night{0%,47%,100%{filter:none}60%,88%{filter:saturate(.75) brightness(.82)}}
@keyframes cloud-drift{from{margin-left:-14px}to{margin-left:26px}}
@keyframes flower-sway{from{rotate:-7deg}to{rotate:7deg}}
@media(prefers-reduced-motion:reduce){.hero-art,.sun,.moon,.sky-stars,.cloud,.house,.window span,.mini-house span,.flowers i{animation:none}.moon,.sky-stars{display:none}}

/* Composition rebuild: natural celestial arcs and layered village */
.hero-art{animation:sky-natural 32s linear infinite;background:#9bd8dd}
.orbit{position:absolute;left:50%;bottom:18px;width:0;height:360px;z-index:2;transform-origin:0 360px;pointer-events:none}
.orbit-sun{animation:sun-arc 32s linear infinite}.orbit-moon{animation:moon-arc 32s linear infinite}
.orbit .sun,.orbit .moon{position:absolute;left:0;top:0;right:auto;bottom:auto;transform:translateX(-50%);animation:none;margin:0}
.orbit .sun{width:76px;height:76px;background:#f8c64e;box-shadow:0 0 0 12px rgba(255,239,159,.18),0 0 32px rgba(248,198,78,.5)}
.orbit .moon{width:66px;height:66px;opacity:1;background:#fff6ce;box-shadow:inset -16px -7px 0 #bac8cb,0 0 22px rgba(255,246,206,.55)}
.far-hill{position:absolute;left:-15%;right:-15%;height:235px;bottom:30px;border-radius:50% 50% 0 0;background:#6eb48d;opacity:.56;z-index:1}
.distant-hill{left:-12%;right:-12%;height:180px;bottom:-12px;background:#599874;opacity:.92;z-index:2}
.village{z-index:3}.mini-house{z-index:2;border-radius:1px;background:#f8ead8;box-shadow:5px 6px 0 rgba(25,52,39,.12)}
.mini-house b{z-index:1;clip-path:polygon(50% 0,100% 100%,0 100%);transform:none;width:94px;height:48px;left:-12px;top:-43px;background:#cf5b87}
.mini-house i,.mini-house span{z-index:2}.mini-house:after{content:"";position:absolute;width:14px;height:18px;background:#ffe17a;left:33px;top:19px;z-index:2;animation:window-cycle 32s linear infinite}
.home-one{left:7%;bottom:99px;transform:scale(.82)}.home-two{left:23%;bottom:72px;transform:scale(.58)}.home-three{right:22%;bottom:94px;transform:scale(.72)}.home-four{right:5%;bottom:73px;transform:scale(.6)}
.fence{position:absolute;left:3%;right:3%;bottom:67px;height:40px;border-top:5px solid #eee0c9;border-bottom:5px solid #eee0c9;z-index:3;opacity:.75}
.fence i{position:absolute;bottom:-10px;width:7px;height:58px;background:#eee0c9}.fence i:nth-child(1){left:0}.fence i:nth-child(2){left:14%}.fence i:nth-child(3){left:28%}.fence i:nth-child(4){left:42%}.fence i:nth-child(5){left:58%}.fence i:nth-child(6){left:72%}.fence i:nth-child(7){left:86%}.fence i:nth-child(8){right:0}
.house{z-index:6;bottom:92px;box-shadow:14px 15px 0 rgba(22,51,38,.15)}.people{z-index:10;left:58%;bottom:16px}.path{z-index:5;height:128px}.tree{z-index:7}.tree-one{left:3%;bottom:28px;transform:scale(1.05)}.tree-two{right:2%;bottom:36px;transform:scale(.92)}.tree-three{left:16%;bottom:27px;transform:scale(.66)}.tree-four{left:28%;bottom:58px;transform:scale(.46)}.tree-five{right:18%;bottom:28px;transform:scale(.7)}.tree-six{right:9%;bottom:101px;transform:scale(.4)}
.flowers{display:grid;grid-template-columns:repeat(9,8px);gap:15px 11px;width:170px;align-items:end}.flower-bed-one{left:16px;bottom:9px}.flower-bed-two{right:16px;bottom:9px;grid-template-columns:repeat(8,8px)}.flowers i{position:relative;width:9px;height:9px;box-shadow:none}.flowers i:before{content:"";position:absolute;width:2px;height:13px;background:#306d4c;left:4px;top:7px}.flowers i:after{content:"";position:absolute;width:6px;height:4px;border-radius:50%;background:#4a996b;left:4px;top:12px;rotate:-25deg}.flowers i:nth-child(3n){background:#f8c64e}.flowers i:nth-child(4n){background:#8b69bb}.flowers i:nth-child(5n){background:#fff5e9}.flowers i:nth-child(7n){background:#ef6f6c}.flowers i:nth-child(even){transform:translateY(-4px)}
.cloud{z-index:4;animation:cloud-natural 19s ease-in-out infinite alternate}.cloud-one{top:73px}.cloud-two{top:140px}.cloud-three{top:195px}.cloud-four{top:104px}
@keyframes sky-natural{0%,100%{background:#ffd1a6}12%,32%{background:#8fd0e2}43%{background:#f2b184}50%{background:#d17f82}58%,84%{background:#243a57}92%{background:#7e7b9a}}
@keyframes sun-arc{0%{transform:rotate(-92deg);opacity:0}4%{opacity:1}38%{opacity:1}48%{transform:rotate(92deg);opacity:0}49%,100%{transform:rotate(92deg);opacity:0}}
@keyframes moon-arc{0%,48%{transform:rotate(-92deg);opacity:0}53%{opacity:1}85%{opacity:1}96%{transform:rotate(92deg);opacity:0}100%{transform:rotate(92deg);opacity:0}}
@keyframes stars-cycle{0%,50%,96%,100%{opacity:0}59%,87%{opacity:.95}}
@keyframes cloud-natural{from{translate:-10px 0}to{translate:24px 3px}}
@media(max-width:600px){.orbit{height:250px;bottom:32px;transform-origin:0 250px}.home-two,.home-four,.tree-four,.tree-six{display:none}.people{left:54%}.flowers{gap:12px 7px;width:130px}.flower-bed-two{right:7px}.flower-bed-one{left:7px}}
@media(prefers-reduced-motion:reduce){.hero-art,.orbit-sun,.orbit-moon,.mini-house:after,.cloud{animation:none}.orbit-sun{transform:rotate(-35deg);opacity:1}.orbit-moon{display:none}}

/* ==========================================================================
   NEW ENHANCEMENTS: PHOTO INTEGRATION, GALLERY, TEAM & FORM STYLES
   ========================================================================== */

/* Brand Subtitle */
.brand-text { display: flex; flex-direction: column; }
.brand-title { font-family: var(--serif); font-size: 20px; line-height: 1.1; }
.brand-subtitle { font-family: var(--sans); font-size: 11px; color: var(--muted); font-weight: 500; letter-spacing: 0.02em; }

/* Hero Photo Card & Badges */
.hero-badges { display: flex; flex-wrap: wrap; gap: 10px; margin: 24px 0 32px; }
.hero-badge { background: rgba(46,91,69,0.08); color: var(--green-dark); font-size: 13px; font-weight: 600; padding: 6px 14px; border-radius: 20px; border: 1px solid rgba(46,91,69,0.15); }

.hero-photo-wrapper { position: relative; width: 100%; display: grid; place-items: center; }
.hero-photo-card { position: relative; z-index: 5; background: var(--paper); padding: 12px; border-radius: 12px; box-shadow: 0 20px 45px rgba(32,38,34,0.12); border: 1px solid var(--line); transform: rotate(-1.5deg); transition: transform 0.3s ease; width: 100%; max-width: 480px; }
.hero-photo-card:hover { transform: rotate(0deg) translateY(-4px); }
.hero-img { width: 100%; height: 340px; object-fit: cover; border-radius: 8px; filter: grayscale(100%); transition: filter 0.4s ease; display: block; }
.hero-photo-card:hover .hero-img { filter: grayscale(40%); }
.hero-photo-caption { display: flex; align-items: center; gap: 12px; margin-top: 12px; padding: 6px 8px; }
.caption-icon { font-size: 22px; color: var(--pink); flex-shrink: 0; }
.hero-photo-caption strong { display: block; font-family: var(--serif); font-size: 15px; color: var(--ink); line-height: 1.2; }
.hero-photo-caption small { color: var(--muted); font-size: 12px; }

/* Photo Feature Banner in About Section */
.feature-photo-banner { margin-top: 60px; display: grid; grid-template-columns: 320px 1fr; gap: 40px; background: white; border: 1px solid var(--line); border-radius: 12px; padding: 24px; box-shadow: 0 10px 30px rgba(32,38,34,0.04); align-items: center; }
.banner-image-container { width: 100%; height: 220px; border-radius: 8px; overflow: hidden; }
.banner-img { width: 100%; height: 100%; object-fit: cover; filter: grayscale(100%); transition: filter 0.3s ease; }
.feature-photo-banner:hover .banner-img { filter: grayscale(0%); }
.banner-text h3 { font-family: var(--serif); font-size: 21px; line-height: 1.35; color: var(--ink); margin: 0 0 14px; font-weight: 400; font-style: italic; }
.banner-text p { color: var(--muted); font-size: 15px; margin: 0; line-height: 1.6; }

/* Team Section Enhancements & Photo Frames */
.quote-box { background: rgba(230,65,133,0.06); border-left: 4px solid var(--pink) !important; padding: 24px !important; border-radius: 0 8px 8px 0; margin-top: 36px !important; }
.quote-box footer { font-family: var(--sans); font-size: 13px; font-style: normal; color: var(--pink); font-weight: 600; margin-top: 12px; background: none; padding: 0; display: block; }

.person-photo-frame { position: relative; width: 160px; }
.person-img { width: 160px; height: 210px; object-fit: cover; border-radius: 80px 80px 8px 8px; filter: grayscale(100%); border: 1px solid var(--line); box-shadow: 0 8px 20px rgba(0,0,0,0.06); transition: filter 0.3s ease; }
.person:hover .person-img { filter: grayscale(20%); }
.portrait-placeholder { width: 160px; height: 210px; background: var(--green); border-radius: 80px 80px 8px 8px; display: grid; place-items: center; border: 1px solid var(--line); }
.portrait-initials { font-family: var(--serif); font-size: 38px; color: var(--green-dark); font-style: italic; }
.qualification-badge { margin-top: 10px; font-size: 11px; font-weight: 600; color: var(--green-dark); background: rgba(46,91,69,0.1); padding: 4px 8px; border-radius: 4px; text-align: center; line-height: 1.3; }

.story-bio { margin-top: 12px !important; font-size: 15px !important; line-height: 1.65 !important; }
.story-bio.highlight-text { background: rgba(255,250,242,0.8); border-left: 3px solid var(--green-dark); padding: 10px 14px; border-radius: 0 6px 6px 0; color: var(--ink) !important; font-weight: 500; }

/* Photo Gallery Section */
.gallery { background: var(--paper); }
.gallery .section-lead { max-width: 680px; color: var(--muted); font-size: 17px; margin-top: 16px; }
.gallery-grid { display: grid; grid-template-columns: repeat(4, 1fr); gap: 20px; margin-top: 50px; }
.gallery-item { position: relative; height: 260px; border-radius: 8px; overflow: hidden; border: 1px solid var(--line); cursor: pointer; background: var(--paper-dark); }
.gallery-item img { width: 100%; height: 100%; object-fit: cover; filter: grayscale(100%); transition: transform 0.4s ease, filter 0.4s ease; }
.gallery-item:hover img { transform: scale(1.06); filter: grayscale(0%); }
.gallery-overlay { position: absolute; inset: 0; background: linear-gradient(to top, rgba(32,38,34,0.85) 0%, transparent 60%); opacity: 0; transition: opacity 0.3s ease; display: flex; flex-direction: column; justify-content: flex-end; padding: 18px; color: white; }
.gallery-item:hover .gallery-overlay { opacity: 1; }
.gallery-icon { font-size: 20px; margin-bottom: 6px; }
.gallery-overlay p { margin: 0; font-family: var(--serif); font-size: 15px; }

/* Lightbox Modal */
.lightbox-modal { display: none; position: fixed; z-index: 1000; inset: 0; background: rgba(32,38,34,0.92); backdrop-filter: blur(8px); place-items: center; padding: 30px; }
.lightbox-modal.active { display: grid; }
.lightbox-content { max-width: 90vw; max-height: 80vh; object-fit: contain; border-radius: 8px; box-shadow: 0 20px 50px rgba(0,0,0,0.5); }
.lightbox-caption { color: white; font-family: var(--serif); font-size: 18px; margin-top: 16px; text-align: center; }
.lightbox-close { position: absolute; top: 25px; right: 35px; color: white; font-size: 38px; font-weight: bold; cursor: pointer; transition: color 0.2s; }
.lightbox-close:hover { color: var(--pink); }

/* Contact Section Grid & Inquiry Form */
.contact-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 6vw; align-items: start; }
.contact-item { display: flex; align-items: center; gap: 16px; padding: 16px 0; border-bottom: 1px solid var(--line); }
.c-icon { font-size: 24px; color: var(--pink); width: 36px; height: 36px; background: rgba(230,65,133,0.1); border-radius: 50%; display: grid; place-items: center; flex-shrink: 0; }
.contact-item small { display: block; color: var(--muted); font-size: 12px; margin-bottom: 2px; }

.inquiry-form-card { background: white; color: var(--ink); padding: 40px; border-radius: 12px; box-shadow: 0 20px 50px rgba(0,0,0,0.15); border: 1px solid var(--line); }
.inquiry-form-card h3 { font-family: var(--serif); font-size: 26px; margin: 0 0 8px; color: var(--ink); }
.form-subtext { color: var(--muted); font-size: 14px; margin-bottom: 28px; }

.inquiry-form { display: flex; flex-direction: column; gap: 20px; }
.form-group { display: flex; flex-direction: column; gap: 6px; }
.form-row { display: grid; grid-template-columns: 1fr 1fr; gap: 16px; }
.inquiry-form label { font-size: 13px; font-weight: 600; color: var(--ink); }
.inquiry-form input, .inquiry-form select, .inquiry-form textarea { width: 100%; padding: 12px 16px; border: 1px solid var(--line); border-radius: 6px; font-family: var(--sans); font-size: 15px; background: var(--paper); transition: border-color 0.2s, box-shadow 0.2s; }
.inquiry-form input:focus, .inquiry-form select:focus, .inquiry-form textarea:focus { outline: none; border-color: var(--pink); box-shadow: 0 0 0 3px rgba(230,65,133,0.15); background: white; }
.submit-btn { border: none; cursor: pointer; width: 100%; margin-top: 8px; font-size: 16px; }
.form-feedback { font-size: 14px; text-align: center; border-radius: 6px; padding: 12px; display: none; }
.form-feedback.success { display: block; background: #e7f7ed; color: #1e6038; border: 1px solid #bce6ca; }

/* Responsive adjustments for new elements */
@media(max-width: 992px) {
  .hero { grid-template-columns: 1fr; gap: 40px; }
  .feature-photo-banner { grid-template-columns: 1fr; }
  .banner-image-container { height: 260px; }
  .gallery-grid { grid-template-columns: repeat(2, 1fr); }
  .contact-grid { grid-template-columns: 1fr; }
}

@media(max-width: 600px) {
  .gallery-grid { grid-template-columns: 1fr; }
  .form-row { grid-template-columns: 1fr; }
  .inquiry-form-card { padding: 24px 18px; }
  .hero-photo-card { transform: none; }
}

