:root{--black:#080808;--dark:#111;--cream:#f6f2ea;--white:#fff;--muted:#777;--gold:#b8894f;--line:rgba(255,255,255,.18)}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;font-family:Inter,system-ui,sans-serif;background:var(--cream);color:var(--black);overflow-x:hidden}img{max-width:100%;display:block}.loader{position:fixed;inset:0;background:#0b0b0b;z-index:9999;display:grid;place-items:center;animation:hideLoader .8s ease 1.2s forwards}.loader img{width:210px;filter:invert(1);opacity:.9}@keyframes hideLoader{to{opacity:0;visibility:hidden}}.site-header{position:fixed;top:0;left:0;width:100%;z-index:100;padding:22px 42px;display:flex;align-items:center;justify-content:space-between;transition:.35s}.site-header.scrolled{background:rgba(10,10,10,.72);backdrop-filter:blur(18px);padding:14px 32px;border-bottom:1px solid rgba(255,255,255,.1)}.brand img{width:150px;min-width:90px;filter:invert(1) drop-shadow(0 2px 10px rgba(0,0,0,.35));transition:.3s}.site-header.scrolled .brand img{width:118px}.nav{display:flex;gap:28px;align-items:center}.nav a{color:white;text-decoration:none;font-size:13px;letter-spacing:.08em;text-transform:uppercase;text-shadow:0 2px 12px rgba(0,0,0,.5)}.nav-cta{border:1px solid rgba(255,255,255,.65);padding:12px 18px;border-radius:999px}.menu-btn{display:none;background:none;border:0;width:38px;height:38px}.menu-btn span{display:block;height:1px;background:white;margin:8px}.hero{height:100vh;min-height:760px;position:relative;display:grid;place-items:center;text-align:center;color:white;overflow:hidden}.hero-bg{position:absolute;inset:0;background-size:cover;background-position:center;transform:scale(1.04);animation:kenburns 18s ease-in-out infinite alternate}.hero-shade{position:absolute;inset:0;background:linear-gradient(180deg,rgba(0,0,0,.42),rgba(0,0,0,.22) 45%,rgba(0,0,0,.55))}.hero-content{position:relative;max-width:900px;padding:0 22px;margin-top:80px}.eyebrow,.label{font-size:12px;text-transform:uppercase;letter-spacing:.22em;color:rgba(255,255,255,.82)}.hero h1{font-family:Cormorant Garamond,serif;font-size:clamp(54px,8vw,112px);line-height:.9;margin:24px 0 18px;font-weight:500;text-shadow:0 8px 30px rgba(0,0,0,.38)}.hero-text{font-size:clamp(16px,2vw,22px);max-width:660px;margin:auto auto 32px;color:rgba(255,255,255,.9)}.hero-actions{display:flex;gap:14px;justify-content:center;flex-wrap:wrap}.btn{display:inline-flex;align-items:center;justify-content:center;min-height:50px;padding:0 26px;border-radius:999px;text-decoration:none;font-weight:600;letter-spacing:.02em;transition:.25s}.btn.primary{background:var(--black);color:white;border:1px solid rgba(255,255,255,.15)}.btn.secondary{background:rgba(255,255,255,.08);color:white;border:1px solid rgba(255,255,255,.55);backdrop-filter:blur(10px)}.btn:hover{transform:translateY(-3px)}.scroll-indicator{position:absolute;bottom:32px;left:50%;transform:translateX(-50%);font-size:11px;letter-spacing:.24em;text-transform:uppercase;color:rgba(255,255,255,.7)}@keyframes kenburns{to{transform:scale(1.12)}}section{padding:120px 7vw}.section-title{text-align:center;max-width:780px;margin:0 auto 70px}.section-title span{font-size:12px;color:var(--gold);letter-spacing:.2em}.section-title h2,.project-head h2,.split-copy h2,.contact-card h2{font-family:Cormorant Garamond,serif;font-size:clamp(42px,5vw,74px);line-height:1;margin:12px 0;font-weight:500}.section-title p{color:#555;font-size:17px}.about-grid{display:grid;grid-template-columns:1.2fr .8fr;gap:70px;align-items:center}.about-image{border-radius:18px;overflow:hidden;box-shadow:0 30px 80px rgba(0,0,0,.18)}.about-image img{height:620px;width:100%;object-fit:cover;transition:1s}.about-image:hover img{transform:scale(1.06)}.about-copy{max-width:520px}.small-title{font-family:Cormorant Garamond,serif;font-size:36px;color:#5b321e;margin:0;border-bottom:1px solid #d9cbb8;padding-bottom:12px}.about-copy h3{font-family:Cormorant Garamond,serif;font-size:42px;line-height:1.05;font-weight:500}.about-copy p{color:#4d4d4d;line-height:1.8}.text-link{display:inline-block;margin-top:18px;color:var(--black);font-weight:700;text-underline-offset:8px}.services{background:#0b0b0b;color:white}.section-title.light p{color:rgba(255,255,255,.62)}.service-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:18px}.service-card{min-height:310px;padding:34px;border:1px solid rgba(255,255,255,.13);background:linear-gradient(180deg,rgba(255,255,255,.08),rgba(255,255,255,.02));border-radius:22px;transition:.35s}.service-card:hover{transform:translateY(-10px);background:rgba(184,137,79,.16)}.service-card b{color:var(--gold);font-size:13px}.service-card h3{font-family:Cormorant Garamond,serif;font-size:34px;font-weight:500}.service-card p{color:rgba(255,255,255,.68);line-height:1.7}.projects{background:#f3eee5;overflow:hidden}.project-head{display:flex;justify-content:space-between;align-items:end;gap:40px;margin-bottom:45px}.project-head .label{color:var(--gold)}.project-head p{max-width:440px;color:#555;line-height:1.7}.carousel{position:relative}.track-wrap{overflow:hidden;border-radius:26px}.track{display:flex;gap:24px;transition:transform .65s cubic-bezier(.22,1,.36,1);will-change:transform}.project-card{flex:0 0 66%;height:620px;position:relative;border-radius:26px;overflow:hidden;background:#111;box-shadow:0 24px 70px rgba(0,0,0,.2);cursor:pointer;transform:scale(.92);opacity:.58;transition:.65s}.project-card.is-active{transform:scale(1);opacity:1}.project-card img{width:100%;height:100%;object-fit:cover}.project-card:after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,transparent 38%,rgba(0,0,0,.76))}.project-card div{position:absolute;left:34px;right:34px;bottom:34px;color:white;z-index:2}.project-card span{font-size:12px;text-transform:uppercase;letter-spacing:.18em;color:rgba(255,255,255,.72)}.project-card h3{font-family:Cormorant Garamond,serif;font-size:54px;font-weight:500;margin:8px 0}.project-card p{margin:0;color:rgba(255,255,255,.75)}.car-btn{position:absolute;top:50%;transform:translateY(-50%);z-index:3;width:56px;height:56px;border-radius:50%;border:1px solid rgba(255,255,255,.55);background:rgba(0,0,0,.42);color:white;font-size:44px;line-height:0;cursor:pointer;backdrop-filter:blur(10px)}.prev{left:18px}.next{right:18px}.project-meta{display:flex;align-items:center;justify-content:space-between;margin-top:34px;border-top:1px solid #d9cbb8;padding-top:24px}.project-meta span{color:var(--gold);text-transform:uppercase;font-size:12px;letter-spacing:.18em}.project-meta h3{font-family:Cormorant Garamond,serif;font-size:34px;margin:6px 0}.dots{display:flex;gap:8px}.dot{width:9px;height:9px;border-radius:50%;background:#c8bba9;transition:.3s}.dot.active{width:28px;border-radius:99px;background:var(--black)}.split-section{display:grid;grid-template-columns:.75fr 1.25fr;gap:70px;align-items:center;background:#0b0b0b;color:white}.split-section .label{color:var(--gold)}.split-copy p{line-height:1.8;color:rgba(255,255,255,.68);font-size:17px}.split-image{height:700px;border-radius:28px;overflow:hidden}.split-image img{width:100%;height:100%;object-fit:cover}.process-line{display:grid;grid-template-columns:repeat(4,1fr);gap:18px}.step{padding:28px;border-left:1px solid #d6c7b3}.step span{color:var(--gold);font-weight:700}.step h3{font-family:Cormorant Garamond,serif;font-size:34px;margin:16px 0 8px}.step p{color:#666;line-height:1.7}.contact{background:linear-gradient(rgba(0,0,0,.62),rgba(0,0,0,.82)),url('assets/sunset_villa.jpg') center/cover fixed;color:white}.contact-shell{max-width:1120px;margin:auto}.contact-intro{text-align:center;max-width:760px;margin:0 auto 52px}.contact-intro .label{color:var(--gold)}.contact-intro h2{font-family:Cormorant Garamond,serif;font-size:clamp(42px,5vw,74px);line-height:1;margin:12px 0;font-weight:500}.contact-intro p{color:rgba(255,255,255,.72);font-size:17px;line-height:1.8}.contact-grid{display:grid;grid-template-columns:1fr .82fr;gap:24px;align-items:stretch}.quick-contact,.appointment-card{border:1px solid rgba(255,255,255,.18);border-radius:28px;background:rgba(0,0,0,.34);backdrop-filter:blur(14px);box-shadow:0 28px 80px rgba(0,0,0,.22)}.quick-contact{padding:34px;display:grid;gap:18px}.quick-contact label{display:grid;gap:9px;text-align:left}.quick-contact span,.appointment-card span{font-size:12px;text-transform:uppercase;letter-spacing:.16em;color:rgba(255,255,255,.62)}.quick-contact input,.quick-contact select{width:100%;height:54px;border:1px solid rgba(255,255,255,.16);border-radius:16px;background:rgba(255,255,255,.08);color:white;padding:0 16px;font:inherit;outline:none;transition:.25s}.quick-contact input::placeholder{color:rgba(255,255,255,.46)}.quick-contact select option{color:#111}.quick-contact input:focus,.quick-contact select:focus{border-color:var(--gold);background:rgba(255,255,255,.12)}.quick-contact .btn{width:100%;border:0;margin-top:4px}.quick-contact small{color:rgba(255,255,255,.58);text-align:center}.appointment-card{padding:38px;display:flex;flex-direction:column;justify-content:space-between;gap:26px}.appointment-card img{width:190px;min-width:90px;filter:invert(1);opacity:.95}.appointment-card div{border-top:1px solid rgba(255,255,255,.14);padding-top:20px}.appointment-card strong{display:block;font-family:Cormorant Garamond,serif;font-size:34px;font-weight:500;margin-top:8px}.appointment-btn{border-color:rgba(184,137,79,.7);background:rgba(184,137,79,.1)}footer{background:#080808;color:white;padding:28px 7vw;display:flex;justify-content:space-between}footer a{color:white}.reveal{opacity:0;transform:translateY(34px);transition:opacity .8s ease,transform .8s ease}.reveal.visible{opacity:1;transform:none}@media(max-width:900px){.contact-grid{grid-template-columns:1fr}.appointment-card{padding:30px}.appointment-card strong{font-size:28px}.site-header{padding:16px 18px}.brand img{width:128px}.menu-btn{display:block;z-index:10}.nav{position:fixed;inset:0;background:rgba(7,7,7,.96);display:flex;flex-direction:column;justify-content:center;transform:translateX(100%);transition:.4s}.nav.open{transform:none}.nav a{font-size:18px}.hero{min-height:720px}.about-grid,.split-section{grid-template-columns:1fr}.about-image img,.split-image{height:460px}.service-grid,.process-line{grid-template-columns:1fr}.project-head{display:block}.project-card{flex-basis:88%;height:520px}.project-card h3{font-size:38px}.project-meta{display:block}.car-btn{width:46px;height:46px;font-size:34px}section{padding:86px 22px}footer{display:block;text-align:center}.contact{background-attachment:scroll}}@media(max-width:560px){.hero h1{font-size:50px}.hero-text{font-size:15px}.btn{width:100%}.hero-actions{max-width:290px;margin:auto}.project-card{height:460px}.section-title h2,.project-head h2,.split-copy h2,.contact-card h2{font-size:42px}.site-header.scrolled .brand img{width:105px}}