:root { --container: 1280px; --radius-sm: 18px; --radius: 28px; --radius-lg: 42px; --radius-hero: 180px; --space-section: 96px; --space-hero-top: 106px; --space-hero-bottom: 92px; --hero-height: 700px; --signature-media-height: 360px; --gallery-tall: 520px; --gallery-mid: 250px; --gallery-wide: 360px; --shadow-soft: 0 14px 34px rgba(20, 14, 11, 0.08); --shadow-medium: 0 22px 56px rgba(20, 14, 11, 0.10); --shadow-strong: 0 34px 90px rgba(20, 14, 11, 0.14); --panel-width: 400px; --pattern-opacity: 0.22; --glow-opacity: 0.48; --card-shift-a: 0px; --card-shift-b: 24px; }
html[data-theme="desert-gold"] { --bg:#fbf7f1; --bg-soft:#f0e2d1; --surface:rgba(255,250,244,.82); --surface-strong:rgba(255,252,248,.95); --text:#261b15; --muted:#73655a; --line:rgba(38,27,21,.08); --accent:#c79656; --accent-dark:#9a6e36; --accent-soft:#ead4b0; --hero-overlay:rgba(38,27,21,.18); --panel-bg:rgba(255,251,246,.94); }
html[data-theme="noir-palace"] { --bg:#120f0e; --bg-soft:#231c19; --surface:rgba(37,31,27,.84); --surface-strong:rgba(43,36,31,.95); --text:#f7eee4; --muted:#cbbba8; --line:rgba(247,238,228,.08); --accent:#cf9f60; --accent-dark:#e4b97c; --accent-soft:#4a3a2f; --hero-overlay:rgba(8,6,5,.35); --panel-bg:rgba(31,26,23,.95); }
html[data-theme="rose-majesty"] { --bg:#fff8f8; --bg-soft:#f4e3e6; --surface:rgba(255,251,251,.84); --surface-strong:rgba(255,253,253,.95); --text:#2d2325; --muted:#7d6a6d; --line:rgba(45,35,37,.08); --accent:#d09faa; --accent-dark:#af7883; --accent-soft:#efd8dd; --hero-overlay:rgba(45,35,37,.16); --panel-bg:rgba(255,251,252,.95); }
html[data-theme="pearl-taupe"] { --bg:#fbf8f6; --bg-soft:#ebe1d9; --surface:rgba(255,253,251,.84); --surface-strong:rgba(255,255,253,.95); --text:#2c2521; --muted:#7a6f68; --line:rgba(44,37,33,.08); --accent:#c1a38c; --accent-dark:#957a67; --accent-soft:#e8ddd4; --hero-overlay:rgba(44,37,33,.16); --panel-bg:rgba(255,253,251,.95); }
html[data-theme="emerald-royal"] { --bg:#f7f8f4; --bg-soft:#dce4d6; --surface:rgba(252,253,250,.84); --surface-strong:rgba(254,255,253,.95); --text:#1f2620; --muted:#667064; --line:rgba(31,38,32,.08); --accent:#b99855; --accent-dark:#8a6d37; --accent-soft:#d6dfcf; --hero-overlay:rgba(18,24,19,.20); --panel-bg:rgba(250,252,249,.95); }
html[data-theme="mocha-silk"] { --bg:#f8f3ef; --bg-soft:#e6dbd2; --surface:rgba(255,250,247,.84); --surface-strong:rgba(255,252,250,.95); --text:#2b221d; --muted:#746861; --line:rgba(43,34,29,.08); --accent:#b88b66; --accent-dark:#8d6545; --accent-soft:#e2d0c4; --hero-overlay:rgba(43,34,29,.18); --panel-bg:rgba(255,251,248,.95); }
html[data-scene="soft"] { --shadow-soft: 0 10px 24px rgba(20, 14, 11, 0.06); --shadow-medium: 0 16px 38px rgba(20, 14, 11, 0.08); --shadow-strong: 0 24px 56px rgba(20, 14, 11, 0.10); --pattern-opacity: 0.14; --glow-opacity: 0.26; --radius: 24px; --radius-lg: 34px; --radius-hero: 150px; }
html[data-scene="royal"] { --shadow-soft: 0 16px 40px rgba(20, 14, 11, 0.10); --shadow-medium: 0 26px 64px rgba(20, 14, 11, 0.12); --shadow-strong: 0 38px 110px rgba(20, 14, 11, 0.18); --pattern-opacity: 0.34; --glow-opacity: 0.70; --radius: 32px; --radius-lg: 52px; --radius-hero: 210px; }
*{box-sizing:border-box} html{scroll-behavior:smooth} body{margin:0;font-family:"Segoe UI","Helvetica Neue",Arial,sans-serif;color:var(--text);line-height:1.68;background:radial-gradient(circle at top left, rgba(255,255,255,0.72), transparent 26%),radial-gradient(circle at bottom right, var(--accent-soft), transparent 30%),linear-gradient(180deg,var(--bg) 0%,var(--bg-soft) 100%);transition:background .35s ease,color .35s ease} a{text-decoration:none;color:inherit} button{font:inherit} .container{width:min(100% - 44px,var(--container));margin:0 auto}
.studio-toggle{position:fixed;right:18px;bottom:18px;z-index:130;min-height:56px;padding:0 18px;border:0;border-radius:999px;display:inline-flex;align-items:center;gap:10px;cursor:pointer;color:#fff;background:linear-gradient(180deg,var(--accent) 0%,var(--accent-dark) 100%);box-shadow:0 18px 38px rgba(0,0,0,.18)}
.studio-panel{position:fixed;right:18px;bottom:86px;z-index:129;width:min(var(--panel-width),calc(100vw - 22px));opacity:0;pointer-events:none;transform:translateY(12px) scale(.98);transition:opacity .22s ease,transform .22s ease}.studio-panel.open{opacity:1;pointer-events:auto;transform:translateY(0) scale(1)}.studio-panel-inner{padding:22px;border-radius:28px;background:var(--panel-bg);border:1px solid var(--line);box-shadow:var(--shadow-strong);backdrop-filter:blur(16px)}
.panel-kicker,.panel-label,.eyebrow,.section-tag,.floating-kicker,.service-kicker,.detail-kicker,.quote-kicker,.summary-kicker{display:inline-block;font-size:.78rem;font-weight:700;letter-spacing:.16em;text-transform:uppercase;color:var(--accent-dark)} .panel-kicker,.panel-label,.eyebrow,.section-tag,.summary-kicker{margin-bottom:14px}
.panel-head h3{margin:0 0 8px;font-size:1.24rem;line-height:1.2}.panel-head p{margin:0 0 18px;color:var(--muted);font-size:.95rem}.panel-block + .panel-block{margin-top:18px}.chip-grid{display:grid;gap:10px}.chip-grid.two-col{grid-template-columns:repeat(2,1fr)}.chip-grid.three-col{grid-template-columns:repeat(3,1fr)}.theme-chip,.layout-chip,.scene-chip{min-height:42px;padding:0 12px;border-radius:16px;border:1px solid var(--line);background:var(--surface);color:var(--text);cursor:pointer}.theme-chip.active,.layout-chip.active,.scene-chip.active{color:#fff;border-color:transparent;background:linear-gradient(180deg,var(--accent) 0%,var(--accent-dark) 100%)}.panel-summary{margin-top:18px;padding:14px 14px;border-radius:18px;background:var(--surface-strong);border:1px solid var(--line)}.summary-line{display:flex;flex-wrap:wrap;gap:8px}
.lightbox{position:fixed;inset:0;z-index:150;display:grid;place-items:center;padding:26px;background:rgba(0,0,0,.78);opacity:0;pointer-events:none;transition:opacity .2s ease}.lightbox.open{opacity:1;pointer-events:auto}.lightbox-inner{max-width:1100px;width:100%}.lightbox img{width:100%;max-height:78vh;object-fit:cover;border-radius:24px}.lightbox p{margin:14px 0 0;color:#fff;text-align:center}.lightbox-close{position:absolute;top:18px;right:18px;width:46px;height:46px;border:0;border-radius:50%;background:rgba(255,255,255,.14);color:#fff;font-size:1.7rem;cursor:pointer}
.topbar{position:sticky;top:0;z-index:100;background:rgba(255,255,255,.06);backdrop-filter:blur(14px);border-bottom:1px solid var(--line)}.nav{min-height:84px;display:flex;align-items:center;justify-content:space-between;gap:24px}.logo{font-weight:700;letter-spacing:.04em;color:var(--accent-dark)}nav{display:flex;align-items:center;gap:24px}nav a{color:var(--muted)}
.hero{position:relative;overflow:hidden;padding:var(--space-hero-top) 0 var(--space-hero-bottom)}.hero-pattern{position:absolute;inset:0;opacity:var(--pattern-opacity);pointer-events:none;background:radial-gradient(circle at 15% 18%,var(--accent-soft) 0%,transparent 22%),radial-gradient(circle at 84% 18%,var(--accent-soft) 0%,transparent 18%),linear-gradient(180deg,transparent 0%,rgba(255,255,255,.08) 100%)}.hero-glow{position:absolute;border-radius:50%;pointer-events:none;opacity:var(--glow-opacity)}.hero-glow-a{width:460px;height:460px;top:-120px;right:-80px;background:radial-gradient(circle,var(--accent-soft) 0%,transparent 70%)}.hero-glow-b{width:340px;height:340px;bottom:-80px;left:-60px;background:radial-gradient(circle,var(--accent-soft) 0%,transparent 70%)}
.hero-grid{position:relative;z-index:1;display:grid;gap:42px;align-items:center}.hero-copy h1{margin:0 0 20px;font-size:clamp(2.9rem,5.8vw,5.5rem);line-height:.96;letter-spacing:-.055em}.hero-text{margin:0 0 34px;max-width:610px;color:var(--muted);font-size:1.08rem}.hero-actions,.contact-actions{display:flex;flex-wrap:wrap;gap:14px}.hero-pills{margin-top:22px;display:flex;flex-wrap:wrap;gap:10px}.hero-pill{padding:9px 14px;border-radius:999px;border:1px solid var(--line);background:var(--surface);color:var(--muted);box-shadow:var(--shadow-soft)}
.btn{display:inline-flex;align-items:center;justify-content:center;min-height:54px;padding:0 26px;border-radius:999px;font-size:.98rem;font-weight:600}.btn-primary{color:#fff;border:0;background:linear-gradient(180deg,var(--accent) 0%,var(--accent-dark) 100%)}.btn-secondary{color:var(--text);background:var(--surface);border:1px solid var(--line)}
.hero-shell{padding:16px;border-radius:var(--radius-lg);background:linear-gradient(135deg,var(--accent-soft),var(--surface-strong));box-shadow:var(--shadow-strong)}.hero-shell::before{content:"";position:absolute;inset:16px;border-radius:999px 999px var(--radius) var(--radius) / var(--radius-hero) var(--radius-hero) var(--radius) var(--radius);border:1px solid rgba(255,255,255,.34)}.hero-image{min-height:var(--hero-height);border-radius:999px 999px var(--radius) var(--radius) / var(--radius-hero) var(--radius-hero) var(--radius) var(--radius);background:linear-gradient(var(--hero-overlay), rgba(0,0,0,.08)),url("https://images.unsplash.com/photo-1522335789203-aabd1fc54bc9?auto=format&fit=crop&w=1600&q=80") center/cover no-repeat}.floating-card{position:absolute;max-width:260px;padding:16px;border-radius:22px;background:var(--surface-strong);border:1px solid var(--line);box-shadow:var(--shadow-medium)}.card-top{top:24px;left:-20px}.card-bottom{right:20px;bottom:24px}
.section{padding:var(--space-section) 0}.center{text-align:center}.section-title{margin:0 0 18px;font-size:clamp(2rem,3vw,3.25rem);line-height:1.08}
.intro-grid{display:grid;gap:24px}.intro-main,.intro-card,.service-card,.statement-box,.detail-card,.signature-quote,.contact-box{box-shadow:var(--shadow-soft)}.intro-main{padding:38px 34px;border-radius:var(--radius-lg);background:var(--surface-strong);border:1px solid var(--line)}.intro-main h2{margin:0 0 14px;font-size:clamp(2rem,3vw,3.1rem);line-height:1.08}.intro-main p:last-child{margin:0;color:var(--muted)}.intro-side{display:grid;gap:18px}.intro-card{padding:28px 24px;border-radius:24px;background:var(--surface);border:1px solid var(--line)}.intro-card h3{margin:0 0 10px;font-size:1.18rem}.intro-card p{margin:0;color:var(--muted)}
.statement-section{padding-top:22px;padding-bottom:18px}.statement-box{padding:28px 30px;border-radius:999px;text-align:center;background:linear-gradient(90deg,var(--accent-soft),var(--surface-strong),var(--accent-soft));border:1px solid var(--line)}.statement-box p{margin:0;color:var(--accent-dark);font-size:1.06rem}
.services-grid{margin-top:40px;display:grid;gap:22px}.service-card{position:relative;overflow:hidden;padding:34px 30px;border-radius:var(--radius);background:var(--surface-strong);border:1px solid var(--line)}.service-card::before{content:"";position:absolute;inset:0 auto auto 0;width:100%;height:5px;background:linear-gradient(90deg,var(--accent-dark),var(--accent),transparent)}.service-card h3{margin:0 0 12px;font-size:1.34rem}.service-card p{margin:0;color:var(--muted)}
.signature-grid{display:grid;gap:34px;align-items:center}.signature-copy h2{margin:0 0 16px;font-size:clamp(2rem,3vw,3.05rem);line-height:1.08}.signature-copy p{margin:0 0 18px;color:var(--muted)}.benefits{margin:0;padding-left:20px}.benefits li{margin-bottom:10px}.signature-media{display:grid;gap:18px}.signature-card,.signature-quote{border-radius:var(--radius);box-shadow:var(--shadow-medium)}.signature-card{min-height:var(--signature-media-height);border:1px solid rgba(255,255,255,.18)}.media-1{background:linear-gradient(var(--hero-overlay), rgba(0,0,0,.08)),url("https://images.unsplash.com/photo-1519415943484-9fa1873496d4?auto=format&fit=crop&w=1400&q=80") center/cover no-repeat;transform:translateY(var(--card-shift-a))}.media-2{background:linear-gradient(var(--hero-overlay), rgba(0,0,0,.08)),url("https://images.unsplash.com/photo-1507652313519-d4e9174996dd?auto=format&fit=crop&w=1400&q=80") center/cover no-repeat;transform:translateY(var(--card-shift-b))}.signature-quote{padding:24px 22px;background:var(--surface-strong);border:1px solid var(--line)}.signature-quote p{margin:8px 0 0;color:var(--text)}
.gallery-grid{margin-top:42px;display:grid;gap:20px}.gallery-card{position:relative;overflow:hidden;min-height:220px;border:0;cursor:pointer;border-radius:var(--radius);box-shadow:var(--shadow-medium);text-align:left;padding:0}.gallery-card::after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,rgba(0,0,0,.04) 0%,rgba(0,0,0,.34) 100%)}.gallery-label{position:absolute;left:18px;bottom:18px;z-index:1;padding:8px 12px;border-radius:999px;background:rgba(255,255,255,.18);backdrop-filter:blur(10px);color:#fff;font-weight:600}.gallery-1{background:linear-gradient(var(--hero-overlay), rgba(0,0,0,.08)),url("https://images.unsplash.com/photo-1522335789203-aabd1fc54bc9?auto=format&fit=crop&w=1600&q=80") center/cover no-repeat}.gallery-2{background:linear-gradient(var(--hero-overlay), rgba(0,0,0,.08)),url("https://images.unsplash.com/photo-1512290923902-8a9f81dc236c?auto=format&fit=crop&w=1600&q=80") center/cover no-repeat}.gallery-3{background:linear-gradient(var(--hero-overlay), rgba(0,0,0,.08)),url("https://images.unsplash.com/photo-1519415943484-9fa1873496d4?auto=format&fit=crop&w=1600&q=80") center/cover no-repeat}.gallery-4{background:linear-gradient(var(--hero-overlay), rgba(0,0,0,.08)),url("https://images.unsplash.com/photo-1507652313519-d4e9174996dd?auto=format&fit=crop&w=1600&q=80") center/cover no-repeat}.gallery-5{background:linear-gradient(var(--hero-overlay), rgba(0,0,0,.08)),url("https://images.unsplash.com/photo-1519823551278-64ac92734fb1?auto=format&fit=crop&w=1600&q=80") center/cover no-repeat}
.detail-grid{display:grid;gap:20px}.detail-card{padding:28px 24px;border-radius:24px;background:var(--surface-strong);border:1px solid var(--line)}.detail-kicker{margin-bottom:12px}.detail-card h3{margin:0 0 10px;font-size:1.18rem}.detail-card p{margin:0;color:var(--muted)}
.contact-box{padding:58px 30px;border-radius:var(--radius-lg);background:radial-gradient(circle at top right,var(--accent-soft) 0%,transparent 24%),var(--surface-strong);border:1px solid var(--line)}.contact-text{max-width:760px;margin:0 auto 30px;color:var(--muted)}.footer{padding:28px 0 38px}.footer-inner{padding-top:22px;border-top:1px solid var(--line);display:flex;justify-content:space-between;gap:20px}.footer-inner p{margin:0;color:var(--muted)}
.reveal{opacity:0;transform:translateY(26px);transition:opacity .7s ease,transform .7s ease}.reveal.reveal-visible{opacity:1;transform:translateY(0)}
html[data-layout="editorial"] .hero-grid{grid-template-columns:.92fr 1.08fr} html[data-layout="editorial"] .intro-grid{grid-template-columns:1.05fr .95fr} html[data-layout="editorial"] .services-grid{grid-template-columns:1.15fr .92fr .92fr} html[data-layout="editorial"] .signature-grid{grid-template-columns:.95fr 1.05fr} html[data-layout="editorial"] .signature-media{grid-template-columns:1fr 1fr;grid-template-areas:"a q" "a b"} html[data-layout="editorial"] .media-1{grid-area:a} html[data-layout="editorial"] .media-2{grid-area:b} html[data-layout="editorial"] .signature-quote{grid-area:q} html[data-layout="editorial"] .gallery-grid{grid-template-columns:1.12fr .88fr .88fr;grid-template-areas:"g1 g2 g3" "g1 g4 g5"} html[data-layout="editorial"] .gallery-1{grid-area:g1;min-height:var(--gallery-tall)} html[data-layout="editorial"] .gallery-2{grid-area:g2;min-height:var(--gallery-mid)} html[data-layout="editorial"] .gallery-3{grid-area:g3;min-height:var(--gallery-mid)} html[data-layout="editorial"] .gallery-4{grid-area:g4;min-height:var(--gallery-mid)} html[data-layout="editorial"] .gallery-5{grid-area:g5;min-height:var(--gallery-mid)} html[data-layout="editorial"] .detail-grid{grid-template-columns:repeat(3,1fr)}
html[data-layout="boutique"] .hero-grid{grid-template-columns:1.06fr .94fr} html[data-layout="boutique"] .hero-copy{order:2} html[data-layout="boutique"] .hero-visual{order:1} html[data-layout="boutique"] .intro-grid{grid-template-columns:.88fr 1.12fr} html[data-layout="boutique"] .intro-main{order:2} html[data-layout="boutique"] .intro-side{order:1} html[data-layout="boutique"] .services-grid{grid-template-columns:1fr 1fr;grid-template-areas:"a b" "c c"} html[data-layout="boutique"] .service-a{grid-area:a} html[data-layout="boutique"] .service-b{grid-area:b} html[data-layout="boutique"] .service-c{grid-area:c} html[data-layout="boutique"] .signature-grid{grid-template-columns:1.08fr .92fr} html[data-layout="boutique"] .signature-copy{order:2} html[data-layout="boutique"] .signature-media{order:1;grid-template-columns:1fr} html[data-layout="boutique"] .media-1,html[data-layout="boutique"] .media-2{transform:none} html[data-layout="boutique"] .gallery-grid{grid-template-columns:1fr 1fr;grid-template-areas:"g1 g2" "g1 g3" "g4 g5"} html[data-layout="boutique"] .gallery-1{grid-area:g1;min-height:calc(var(--gallery-tall) + 60px)} html[data-layout="boutique"] .gallery-2{grid-area:g2;min-height:var(--gallery-mid)} html[data-layout="boutique"] .gallery-3{grid-area:g3;min-height:var(--gallery-mid)} html[data-layout="boutique"] .gallery-4{grid-area:g4;min-height:var(--gallery-wide)} html[data-layout="boutique"] .gallery-5{grid-area:g5;min-height:var(--gallery-wide)} html[data-layout="boutique"] .detail-grid{grid-template-columns:1.2fr .8fr 1fr}
html[data-layout="palace"] .hero-grid{grid-template-columns:1.02fr .98fr} html[data-layout="palace"] .hero-visual{order:1} html[data-layout="palace"] .hero-copy{order:2} html[data-layout="palace"] .card-top{top:auto;bottom:24px;left:24px} html[data-layout="palace"] .card-bottom{top:26px;right:26px;bottom:auto} html[data-layout="palace"] .intro-grid{grid-template-columns:1fr} html[data-layout="palace"] .intro-side{grid-template-columns:repeat(2,1fr)} html[data-layout="palace"] .services-grid{grid-template-columns:1fr} html[data-layout="palace"] .service-card{width:min(100%,820px)} html[data-layout="palace"] .service-a{margin-right:auto} html[data-layout="palace"] .service-b{margin-left:auto} html[data-layout="palace"] .service-c{margin-right:auto} html[data-layout="palace"] .signature-grid{grid-template-columns:1fr} html[data-layout="palace"] .signature-media{grid-template-columns:1.1fr .9fr;grid-template-areas:"a b" "q q"} html[data-layout="palace"] .media-1{grid-area:a} html[data-layout="palace"] .media-2{grid-area:b} html[data-layout="palace"] .signature-quote{grid-area:q} html[data-layout="palace"] .gallery-grid{grid-template-columns:.9fr 1.2fr .9fr;grid-template-areas:"g2 g1 g3" "g4 g1 g5"} html[data-layout="palace"] .gallery-1{grid-area:g1;min-height:calc(var(--gallery-tall) + 40px)} html[data-layout="palace"] .gallery-2{grid-area:g2;min-height:var(--gallery-mid)} html[data-layout="palace"] .gallery-3{grid-area:g3;min-height:var(--gallery-mid)} html[data-layout="palace"] .gallery-4{grid-area:g4;min-height:var(--gallery-mid)} html[data-layout="palace"] .gallery-5{grid-area:g5;min-height:var(--gallery-mid)} html[data-layout="palace"] .detail-grid{grid-template-columns:1fr}
@media (max-width:1080px){.hero-grid,.intro-grid,.signature-grid,.detail-grid{grid-template-columns:1fr !important}.services-grid,.gallery-grid,.signature-media,.intro-side{grid-template-columns:1fr !important;grid-template-areas:none !important}.gallery-1,.gallery-2,.gallery-3,.gallery-4,.gallery-5,.service-a,.service-b,.service-c,.media-1,.media-2,.signature-quote{grid-area:auto !important;margin:0 !important;min-height:260px;width:100%}.media-1,.media-2{transform:none !important}}
@media (max-width:720px){.topbar{position:relative}.nav{min-height:auto;padding:18px 0;flex-direction:column;align-items:flex-start}nav{flex-wrap:wrap;gap:12px 16px}.section{padding:72px 0}.hero{padding:76px 0 60px}.hero-copy h1{font-size:clamp(2.3rem,10vw,3.6rem)}.hero-shell{padding:12px}.floating-card{position:static;margin-top:14px;max-width:none}.statement-box{border-radius:26px;padding:22px 20px}.intro-main,.contact-box{padding:40px 22px;border-radius:28px}.studio-panel{right:10px;bottom:76px;width:calc(100vw - 20px)}.studio-toggle{right:10px;bottom:10px}.chip-grid.two-col,.chip-grid.three-col{grid-template-columns:1fr}.lightbox{padding:16px}.footer-inner{flex-direction:column}}
