:root{
  --cream:#fbf7f0;
  --paper:#fffdf9;
  --ink:#243b3b;
  --muted:#687776;
  --teal:#1f7773;
  --teal-deep:#145c59;
  --coral:#df765f;
  --peach:#f2b18d;
  --gold:#c89a44;
  --line:#e5ddd2;
  --shadow:0 24px 60px rgba(38,64,63,.13);
  --radius:28px;
}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{margin:0;background:var(--cream);color:var(--ink);font-family:Inter, ui-sans-serif, system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;line-height:1.6}
img{display:block;max-width:100%}
a{color:inherit}
button,input,select,textarea{font:inherit}
button{color:inherit}
.container{width:min(1180px,calc(100% - 40px));margin-inline:auto}
.section{padding:110px 0}
.eyebrow{margin:0 0 14px;color:var(--coral);font-size:.78rem;font-weight:800;letter-spacing:.14em;text-transform:uppercase}
h1,h2,h3{font-family:Georgia,"Times New Roman",serif;line-height:1.05;margin:0;color:var(--ink);font-weight:500}
h1{font-size:clamp(3.4rem,7vw,6.7rem);letter-spacing:-.055em}
h1 em{color:var(--teal);font-weight:500}
h2{font-size:clamp(2.5rem,4.6vw,4.4rem);letter-spacing:-.035em}
h3{font-size:1.65rem}
p{margin-top:0}.center{text-align:center;margin-top:42px}
.site-header{position:sticky;top:0;z-index:50;background:rgba(251,247,240,.92);backdrop-filter:blur(16px);border-bottom:1px solid rgba(31,119,115,.08)}
.nav-wrap{height:84px;display:flex;align-items:center;justify-content:space-between;gap:26px}
.brand{display:flex;align-items:center;width:205px;height:72px;overflow:hidden}
.brand img{width:100%;height:100%;object-fit:contain}
.main-nav{display:flex;align-items:center;gap:30px;font-size:.93rem;font-weight:650}
.main-nav a{text-decoration:none;white-space:nowrap}
.main-nav a:not(.nav-cta):hover{color:var(--teal)}
.nav-cta{background:var(--teal);color:white;padding:12px 18px;border-radius:999px;box-shadow:0 8px 20px rgba(31,119,115,.2)}
.nav-toggle{display:none;border:0;background:none;padding:9px}
.nav-toggle span{display:block;width:24px;height:2px;background:var(--ink);margin:5px}
.hero{position:relative;overflow:hidden;padding:78px 0 104px;background:linear-gradient(160deg,#fffdf8 0%,#fbf7f0 55%,#f5eee5 100%)}
.hero-grid{display:grid;grid-template-columns:1.1fr .9fr;gap:70px;align-items:center;position:relative;z-index:2}
.hero-copy{padding-top:18px}.hero-copy .eyebrow{color:var(--teal)}
.hero-lead{font-size:1.18rem;max-width:650px;color:var(--muted);margin:28px 0 34px}
.hero-actions{display:flex;gap:14px;flex-wrap:wrap}
.button{display:inline-flex;align-items:center;justify-content:center;min-height:50px;padding:0 22px;border-radius:999px;border:1px solid transparent;text-decoration:none;font-weight:800;font-size:.92rem;cursor:pointer;transition:.2s ease}
.button:hover{transform:translateY(-2px)}
.button-primary{background:var(--coral);color:#fff;box-shadow:0 12px 28px rgba(223,118,95,.27)}
.button-quiet{border-color:var(--line);background:rgba(255,255,255,.7);color:var(--ink)}
.button-outline{background:transparent;border-color:var(--teal);color:var(--teal)}
.button-light{background:white;color:var(--teal-deep)}
.button-ghost-light{border-color:rgba(255,255,255,.45);color:white;background:transparent}
.button-dark{background:var(--ink);color:white;width:100%}
.hero-facts{display:flex;gap:34px;margin-top:48px;padding-top:24px;border-top:1px solid var(--line)}
.hero-facts div{display:grid;gap:1px}.hero-facts strong{font-family:Georgia,serif;color:var(--teal);font-size:1.6rem;font-weight:500}.hero-facts span{font-size:.76rem;color:var(--muted)}
.hero-visual{position:relative;justify-self:end;width:min(100%,500px)}
.hero-card{margin:0;background:white;padding:12px;border-radius:44px 44px 44px 10px;box-shadow:var(--shadow);transform:rotate(1.2deg)}
.hero-card img{width:100%;aspect-ratio:1/1;object-fit:cover;border-radius:34px 34px 34px 6px}
.hero-card figcaption{padding:14px 10px 6px;font-size:.8rem;color:var(--muted);text-align:center;letter-spacing:.02em}
.hero-badge{position:absolute;left:-52px;bottom:76px;background:var(--teal);color:#fff;width:126px;height:126px;border-radius:50%;display:grid;place-items:center;text-align:center;font-family:Georgia,serif;font-size:1.12rem;line-height:1.12;box-shadow:0 16px 36px rgba(20,92,89,.25);transform:rotate(-7deg)}
.hero-wave{position:absolute;border-radius:50%;filter:blur(.1px);opacity:.55}.hero-wave-one{width:520px;height:520px;border:52px solid rgba(31,119,115,.09);right:-220px;top:-170px}.hero-wave-two{width:420px;height:420px;border:48px solid rgba(223,118,95,.08);left:-240px;bottom:-280px}
.split-grid{display:grid;grid-template-columns:.92fr 1.08fr;gap:90px;align-items:center}
.image-stack{position:relative;padding:0 60px 64px 0}.stack-main{width:100%;aspect-ratio:4/5;object-fit:cover;border-radius:var(--radius);box-shadow:var(--shadow)}.stack-small{position:absolute;right:0;bottom:0;width:43%;aspect-ratio:4/5;object-fit:cover;border:9px solid var(--cream);border-radius:22px;box-shadow:0 18px 45px rgba(38,64,63,.16)}
.section-copy>p:not(.eyebrow){font-size:1.08rem;color:var(--muted);margin:26px 0}
.check-list{list-style:none;padding:0;margin:26px 0 28px;display:grid;gap:13px}.check-list li{position:relative;padding-left:30px}.check-list li:before{content:"";position:absolute;left:0;top:.47em;width:14px;height:14px;border-radius:50%;background:var(--peach);box-shadow:inset 0 0 0 4px var(--cream)}
.text-link{color:var(--teal);text-decoration:none;font-weight:800}.text-link span{display:inline-block;transition:.2s}.text-link:hover span{transform:translateX(4px)}
.transformations{background:var(--paper);border-top:1px solid rgba(229,221,210,.7);border-bottom:1px solid rgba(229,221,210,.7)}
.section-heading{max-width:760px;margin-bottom:50px}.section-heading p:not(.eyebrow){color:var(--muted);max-width:680px;margin:20px 0 0;font-size:1.05rem}
.transformation-grid{display:grid;grid-template-columns:repeat(3,1fr);grid-auto-rows:365px;gap:18px}.photo-card{position:relative;border:0;padding:0;border-radius:24px;overflow:hidden;background:#ddd;cursor:zoom-in;text-align:left}.photo-card.tall{grid-row:span 2}.photo-card img{width:100%;height:100%;object-fit:cover;transition:transform .5s ease}.photo-card:hover img{transform:scale(1.035)}.photo-card:after{content:"";position:absolute;inset:45% 0 0;background:linear-gradient(transparent,rgba(13,45,44,.78))}.photo-copy{position:absolute;left:22px;right:22px;bottom:19px;z-index:2;color:white;display:grid;gap:2px}.photo-copy b{font-family:Georgia,serif;font-size:1.22rem;font-weight:500}.photo-copy small{font-size:.72rem;text-transform:uppercase;letter-spacing:.12em;font-weight:800;opacity:.85}
.extra-gallery{margin-top:22px;display:grid;grid-template-columns:repeat(6,1fr);gap:12px}.extra-gallery[hidden]{display:none}.mini-photo{border:0;padding:0;border-radius:18px;overflow:hidden;aspect-ratio:1/1;background:#eee;cursor:zoom-in}.mini-photo img{width:100%;height:100%;object-fit:cover;transition:.3s}.mini-photo:hover img{transform:scale(1.04)}
.service-grid{display:grid;grid-template-columns:1.15fr .925fr .925fr;gap:18px}.service-card{position:relative;padding:36px;border:1px solid var(--line);background:rgba(255,255,255,.53);border-radius:24px;min-height:310px}.service-card.primary{background:var(--teal);border-color:var(--teal);color:white}.service-card.primary h3,.service-card.primary a{color:white}.service-card p{color:var(--muted);margin:18px 0 0}.service-card.primary p{color:rgba(255,255,255,.78)}.service-card a{position:absolute;left:36px;bottom:34px;color:var(--teal);text-decoration:none;font-weight:800;font-size:.88rem}.service-number{display:block;margin-bottom:52px;font-weight:800;font-size:.72rem;letter-spacing:.15em;color:var(--coral)}.service-card.primary .service-number{color:#ffd8ca}
.quote-section{background:#efe4d8;padding:82px 0}.quote-grid{display:grid;grid-template-columns:.75fr 1.25fr;gap:70px;align-items:center}.quote-art img{width:100%;border-radius:24px;box-shadow:var(--shadow)}blockquote{margin:0;position:relative;padding-left:36px}.quote-mark{font-family:Georgia,serif;color:var(--coral);font-size:6rem;line-height:.6;position:absolute;left:-22px;top:10px}blockquote p{font-family:Georgia,serif;font-size:clamp(2rem,3.5vw,3.5rem);line-height:1.12;letter-spacing:-.03em;margin:0}blockquote footer{margin-top:25px;color:var(--muted);font-weight:700}
.studio-grid{display:grid;grid-template-columns:.82fr 1.18fr;gap:75px;align-items:center}.studio-copy p:not(.eyebrow){color:var(--muted);font-size:1.08rem;margin:24px 0}.studio-copy address{font-style:normal;margin:26px 0;font-size:1.05rem}.contact-links{display:grid;gap:5px}.contact-links a{color:var(--teal);font-weight:800;text-decoration:none}.studio-photo{position:relative}.studio-photo img{width:100%;aspect-ratio:4/3;object-fit:cover;border-radius:var(--radius);box-shadow:var(--shadow)}.studio-note{position:absolute;right:18px;bottom:18px;background:rgba(255,253,249,.93);padding:11px 15px;border-radius:999px;font-size:.77rem;font-weight:800;color:var(--teal-deep)}
.consultation{background:var(--teal);color:white}.consultation-grid{display:grid;grid-template-columns:1fr .9fr;gap:80px;align-items:start}.consultation h2{color:white}.consultation .eyebrow{color:#ffd3c6}.consultation-copy>p:not(.eyebrow){color:rgba(255,255,255,.78);font-size:1.08rem;max-width:570px;margin:24px 0 34px}.quick-contact{display:flex;flex-wrap:wrap;gap:12px}.consultation-form{background:var(--paper);color:var(--ink);padding:30px;border-radius:26px;box-shadow:0 22px 50px rgba(10,58,56,.22);display:grid;gap:16px}.consultation-form label{display:grid;gap:7px;font-weight:800;font-size:.78rem;letter-spacing:.02em}.consultation-form input,.consultation-form select,.consultation-form textarea{width:100%;border:1px solid var(--line);background:#fff;border-radius:12px;padding:12px 13px;outline:none;color:var(--ink)}.consultation-form input:focus,.consultation-form select:focus,.consultation-form textarea:focus{border-color:var(--teal);box-shadow:0 0 0 3px rgba(31,119,115,.11)}.form-note{font-size:.72rem;color:var(--muted);margin:0;text-align:center}
.site-footer{background:#193c3a;color:white;padding:58px 0 24px}.footer-grid{display:grid;grid-template-columns:1.4fr .8fr .8fr;gap:40px}.footer-brand img{width:210px;background:white;border-radius:14px;padding:7px}.footer-brand p{font-size:.82rem;color:rgba(255,255,255,.62);margin:14px 0 0}.footer-links,.footer-contact{display:grid;align-content:start;gap:9px}.footer-links a,.footer-contact a{text-decoration:none;color:rgba(255,255,255,.78);font-size:.88rem}.footer-links a:hover,.footer-contact a:hover{color:white}.footer-bottom{margin-top:40px;padding-top:18px;border-top:1px solid rgba(255,255,255,.12);font-size:.74rem;color:rgba(255,255,255,.48)}
.lightbox{border:0;padding:0;background:transparent;max-width:min(92vw,900px);max-height:92vh}.lightbox::backdrop{background:rgba(6,20,20,.82);backdrop-filter:blur(6px)}.lightbox img{max-height:88vh;max-width:88vw;border-radius:18px;box-shadow:0 30px 80px rgba(0,0,0,.35)}.lightbox-close{position:fixed;right:24px;top:16px;width:46px;height:46px;border:0;border-radius:50%;background:white;font-size:1.8rem;cursor:pointer}
.reveal{opacity:0;transform:translateY(18px);transition:opacity .65s ease,transform .65s ease}.reveal.visible{opacity:1;transform:none}
@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}.reveal{opacity:1;transform:none;transition:none}.photo-card img,.mini-photo img,.button{transition:none}}
@media(max-width:900px){.section{padding:82px 0}.nav-toggle{display:block}.main-nav{position:absolute;top:84px;left:0;right:0;background:var(--paper);display:none;flex-direction:column;align-items:stretch;padding:22px 26px 28px;border-bottom:1px solid var(--line);box-shadow:0 20px 40px rgba(38,64,63,.12)}.main-nav.open{display:flex}.main-nav a{text-align:center;padding:8px}.nav-cta{margin-top:6px}.hero{padding-top:50px}.hero-grid,.split-grid,.studio-grid,.consultation-grid,.quote-grid{grid-template-columns:1fr;gap:52px}.hero-copy{max-width:700px}.hero-visual{justify-self:center;width:min(84%,520px)}.hero-badge{left:-35px}.split-grid .image-stack{max-width:580px;margin:auto;order:2}.transformation-grid{grid-template-columns:repeat(2,1fr)}.transformation-grid .tall{grid-row:span 1}.service-grid{grid-template-columns:1fr}.service-card{min-height:250px}.service-number{margin-bottom:32px}.extra-gallery{grid-template-columns:repeat(3,1fr)}.quote-art{max-width:520px;margin:auto}.footer-grid{grid-template-columns:1fr 1fr}.footer-brand{grid-column:1/-1}}
@media(max-width:620px){.container{width:min(100% - 28px,1180px)}.site-header .brand{width:170px}.hero{padding:38px 0 78px}h1{font-size:clamp(3rem,15vw,4.8rem)}.hero-actions .button{width:100%}.hero-facts{gap:18px;justify-content:space-between}.hero-facts span{font-size:.68rem}.hero-card{border-radius:32px 32px 32px 10px}.hero-badge{width:102px;height:102px;left:-18px;bottom:54px;font-size:.93rem}.image-stack{padding-right:38px;padding-bottom:42px}.stack-small{border-width:6px}.transformation-grid{grid-template-columns:1fr;grid-auto-rows:390px}.extra-gallery{grid-template-columns:repeat(2,1fr)}.section-heading{margin-bottom:36px}.quote-section{padding:68px 0}.quote-grid{gap:40px}blockquote{padding-left:20px}.quote-mark{left:-16px}.quick-contact .button{width:100%}.consultation-form{padding:22px}.footer-grid{grid-template-columns:1fr}.footer-brand{grid-column:auto}.footer-links,.footer-contact{grid-template-columns:repeat(2,1fr)}}
