/*
Theme Name: Gretshen Angeles Interior Designer
Theme URI: https://example.com/
Author: Gretshen Angeles
Description: A cinematic, editorial WordPress theme for a residential interior design studio.
Version: 1.0.0
Requires at least: 6.2
Requires PHP: 7.4
Text Domain: gretshen-angeles
License: GNU General Public License v2 or later
*/
@import url('https://fonts.googleapis.com/css2?family=DM+Sans:wght@400;500;600&family=Italiana&display=swap');
:root{--wine:#552732;--ink:#24221f;--paper:#f3efe8;--taupe:#b7a596;--line:#d2c8bc;--serif:'Italiana',Georgia,serif;--sans:'DM Sans',Arial,sans-serif}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:95px}body{margin:0;color:var(--ink);background:var(--paper);font:15px/1.7 var(--sans)}a{color:inherit;text-decoration:none}button,input,select,textarea{font:inherit}button,a,input,select,textarea{touch-action:manipulation}button{cursor:pointer}a:focus-visible,button:focus-visible,summary:focus-visible,input:focus-visible,textarea:focus-visible,select:focus-visible{outline:3px solid #bb7a89;outline-offset:6px}h1,h2,h3,p{margin:0}h1,h2,h3{font-family:var(--serif);font-weight:400;line-height:1.05}h2{font-size:clamp(42px,4.5vw,72px);letter-spacing:-1.8px}h3{font-size:36px}em{font-family:Georgia,serif;font-weight:400;font-size:.91em}img{display:block;width:100%;height:100%;object-fit:cover}.section{padding:110px 7%}.eyebrow{font-size:10px;font-weight:500;letter-spacing:2.1px;text-transform:uppercase}.skip{position:fixed;top:-70px;left:15px;background:white;padding:10px;z-index:100}.skip:focus{top:15px}.header{height:98px;padding:0 5%;display:flex;align-items:center;justify-content:space-between;background:var(--paper);position:relative;z-index:10}.wordmark{font-family:var(--serif);font-size:23px;letter-spacing:2px;color:var(--wine);line-height:1.3}.wordmark span{display:block;font:8px var(--sans);letter-spacing:4px;margin-top:8px}.header nav{display:flex;gap:34px;align-items:center;font-size:12px}.nav-cta{border-bottom:1px solid var(--wine);padding:9px 0;color:var(--wine)}.nav-cta span{margin-left:28px}.menu-toggle{display:none}.hero{height:calc(100svh - 98px);min-height:660px;max-height:1100px;position:relative;color:white;overflow:hidden;background:#554a41}.hero-image,.hero-shade{position:absolute;inset:0}.hero-image{object-position:50% 55%;animation:arrive 2s ease both;filter:saturate(.65)}.hero-shade{background:linear-gradient(90deg,rgba(19,17,15,.62),rgba(19,17,15,.03) 85%),linear-gradient(0deg,rgba(19,17,15,.55),transparent 55%)}.hero-top{position:absolute;top:30px;left:5%;right:5%;display:flex;justify-content:space-between;font-size:9px;letter-spacing:2px}.hero-copy{position:absolute;left:7%;right:7%;bottom:108px}.hero-copy>.eyebrow{margin-bottom:25px}.hero h1{font-size:clamp(76px,9vw,145px);letter-spacing:-4px;line-height:.98}.hero h1 em{font-size:.92em}.hero-bottom{display:flex;justify-content:space-between;align-items:end;margin-top:36px}.hero-bottom p{font-size:14px;line-height:1.7}.button{display:inline-flex;justify-content:space-between;gap:45px;align-items:center;padding:18px 26px;font-size:11px;letter-spacing:.4px;border:1px solid transparent;transition:background .25s,transform .25s}.button:hover{transform:translateY(-3px)}.button.light{background:var(--paper);color:var(--wine)}.button.light:hover{background:#e0d4c6}.button.dark{background:var(--wine);color:white}.button.dark:hover{background:#382029}.button span{font-size:19px}.hero-foot{position:absolute;bottom:28px;left:5%;right:5%;display:flex;justify-content:space-between;font-size:8px;letter-spacing:1.5px}.hero-foot a span{margin-left:24px}.hero-foot>span:nth-child(2){opacity:.85}.small-line{display:inline-block;width:30px;height:1px;background:currentColor;vertical-align:middle;margin-right:15px}.intro-grid{display:grid;grid-template-columns:1.5fr 1fr;gap:8%;margin-top:40px}.intro-copy{max-width:420px}.intro-copy p+p{margin-top:20px}.text-link{display:inline-block;border-bottom:1px solid currentColor;padding-bottom:8px;font-size:12px;margin-top:26px}.text-link span{margin-left:35px}.material-strip{border-top:1px solid var(--line);margin-top:70px;padding-top:25px;display:flex;align-items:center;gap:35px;font-size:10px}.material-strip>span{display:flex;gap:12px;align-items:center}.swatch{display:inline-block;width:24px;height:24px;border-radius:50%}.burgundy{background:var(--wine)}.taupe{background:var(--taupe)}.stone{background:repeating-linear-gradient(125deg,#d2c6b5,#d2c6b5 2px,#c7baa8 3px,#e4dbce 5px)}.ink{background:var(--ink)}.material-strip .palette-note{margin-left:auto;font-size:8px;letter-spacing:1.5px}.services{background:#e8e0d6}.section-heading{display:flex;align-items:end;justify-content:space-between;gap:30px;margin-bottom:60px}.section-heading .eyebrow{margin-bottom:25px}.section-heading>p{font-size:12px;max-width:350px}.service-list details{border-top:1px solid #bdb0a2;padding:27px 0}.service-list details:last-child{border-bottom:1px solid #bdb0a2}.service-list summary{list-style:none;cursor:pointer;display:flex;align-items:center;gap:40px}.service-list summary::-webkit-details-marker{display:none}.number{font-size:11px;color:var(--wine)}.detail-sign{margin-left:auto;font-size:27px;font-weight:400;transition:transform .3s}.service-list details[open] .detail-sign{transform:rotate(45deg)}.service-body{padding:22px 0 4px 55px;max-width:650px;font-size:13px}.invitation{background:var(--wine);color:var(--paper);position:relative;overflow:hidden;text-align:center}.invitation h2{margin:30px 0 35px;position:relative;z-index:1}.invitation p{font-size:11px;margin-top:22px;color:#d7c2c5}.invitation-mark{font-family:var(--serif);position:absolute;right:-25px;bottom:-150px;font-size:440px;opacity:.035;pointer-events:none}.gallery-grid{display:grid;grid-template-columns:1.15fr 1fr;gap:65px 8%}.gallery-card{position:relative;background:transparent;border:0;padding:0;color:var(--ink);text-align:left;width:100%;overflow:hidden}.gallery-card img{height:560px;transition:transform .8s,filter .8s;filter:saturate(.7)}.gallery-card:hover img{transform:scale(1.025);filter:saturate(1)}.gallery-card.offset{margin-top:125px}.gallery-card.offset img{height:435px}.gallery-card.wide{grid-column:1/-1}.gallery-card.wide img{height:510px}.image-tag{position:absolute;left:18px;top:18px;background:#f3efe8e8;padding:6px 10px;font-size:8px;letter-spacing:1.5px}.gallery-caption{display:flex;justify-content:space-between;align-items:center;padding-top:22px;font:30px var(--serif)}.gallery-caption small{display:block;font:11px var(--sans);margin-top:9px}.circle{font:21px var(--sans);border:1px solid var(--line);height:45px;width:45px;border-radius:50%;display:grid;place-items:center}.muted{font-size:10px;color:#6a625a}.trust{background:#252421;color:#f3efe8}.trust-grid{display:grid;grid-template-columns:1.2fr 1fr;gap:10%;margin-top:36px}.trust-grid>div>p{font-size:14px;color:#d7d0c5}.principles{margin-top:32px}.principles span{display:flex;gap:25px;border-bottom:1px solid #5a554d;padding:17px 0;font-size:10px;color:#c7ad9a}.principles strong{font-weight:400;font-size:14px;color:var(--paper)}.trust-grid .editorial-note{font-size:10px;color:#bbb2a5;margin-top:25px}.inquiry{display:grid;grid-template-columns:.85fr 1.15fr;gap:9%}.inquiry h2{font-size:clamp(58px,6vw,92px);margin:28px 0;color:var(--wine)}.inquiry-copy>p:not(.eyebrow){max-width:290px}.location{font-size:9px;letter-spacing:1.5px;margin-top:40px}.form-heading{border-bottom:1px solid var(--line);padding:15px 0 24px;margin-bottom:28px}.form-heading h3{font-size:32px}.form-heading>span{font-size:8px;letter-spacing:1.8px}.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:26px 24px}label{display:block;font-size:11px}label>span{color:var(--wine)}input,select,textarea{display:block;width:100%;border:0;border-bottom:1px solid #b2a596;border-radius:0;background:transparent;color:var(--ink);padding:12px 0;font-size:12px;min-height:46px}textarea{resize:vertical;margin-top:5px}form>label{margin-top:28px}.form-note{font-size:10px;color:#6c6056;margin:24px 0}.inquiry .button{width:100%;border:0}#form-status{font-size:12px;color:var(--wine);margin-top:15px}#download-inquiry[hidden]{display:none}.closing{border-top:1px solid var(--line);text-align:center;background:radial-gradient(ellipse at bottom,#d9cbbb,var(--paper) 75%)}.closing h2{font-size:clamp(60px,7vw,105px);margin-top:25px}.closing .text-link{color:var(--wine);font-size:15px}.footer{padding:60px 5% 25px;display:grid;grid-template-columns:1.2fr 1fr .8fr;gap:35px;background:#e9e1d6}.footer>p{font-size:11px}.footer>p span{font-size:10px}.footer nav{display:flex;justify-content:end;gap:25px;font-size:11px}.footer-bottom{grid-column:1/-1;display:flex;justify-content:space-between;gap:20px;border-top:1px solid #c6b8a8;padding-top:24px;font-size:8px;letter-spacing:.5px}dialog{border:0;padding:55px 25px 20px;background:#252421;color:white;width:min(1100px,94vw);max-height:94svh}dialog::backdrop{background:#111d;backdrop-filter:blur(6px)}dialog img{max-height:70svh;height:auto;object-fit:contain}.close-dialog{position:absolute;right:20px;top:12px}.close-dialog,.lightbox-controls button{border:1px solid #888;background:transparent;color:white;padding:8px 15px}.lightbox-controls{display:flex;justify-content:space-between;align-items:center;margin-top:15px;gap:15px}.lightbox-controls p{font-size:12px}.reveal{transition:opacity .8s,transform .8s}.js-motion .reveal:not(.visible){opacity:0;transform:translateY(24px)}@keyframes arrive{from{transform:scale(1.06)}to{transform:scale(1)}}
.hero-stage{position:relative;background:var(--ink)}
.hero-stage.cinematic{height:220svh}
.cinematic .hero{position:sticky;top:0;height:100svh;min-height:620px;max-height:none}
.cinematic .hero-image{animation:none;transform:scale(var(--scene-scale,1));transform-origin:58% 52%;will-change:transform}
.cinematic .hero-copy{opacity:var(--copy-opacity,1);transform:translateY(var(--copy-y,0px));will-change:transform,opacity}
.cinematic .hero-shade::after{content:'';position:absolute;inset:0;background:#191510;opacity:var(--scene-darkness,0)}
.scene-caption{display:none;position:absolute;inset:0;align-items:center;justify-content:center;flex-direction:column;text-align:center;pointer-events:none;padding:7%;opacity:var(--caption-opacity,0);transform:translateY(var(--caption-y,25px))}
.cinematic .scene-caption{display:flex}
.scene-caption p{font:clamp(55px,6.5vw,100px)/1.08 var(--serif);letter-spacing:-2px;margin-top:25px;text-shadow:0 2px 30px #0004}
.scene-progress{display:none;position:absolute;bottom:0;left:0;right:0;height:3px;background:#ffffff26}
.cinematic .scene-progress{display:block}
.scene-progress::after{content:'';position:absolute;inset:0;background:#ead9c5;transform:scaleX(var(--scene-progress,0));transform-origin:left}
.hero-stage+.intro{position:relative;z-index:1;background:var(--paper);border-radius:32px 32px 0 0;margin-top:-32px;padding-top:120px}
@media(max-width:800px),(prefers-reduced-motion:reduce){.hero-stage+.intro{border-radius:20px 20px 0 0;margin-top:-20px;padding-top:75px}}
@media(min-width:1600px){.section{padding-left:max(7%,calc((100vw - 1450px)/2));padding-right:max(7%,calc((100vw - 1450px)/2))}}
@media(max-width:800px){.header{height:82px;padding:0 6%}.wordmark{font-size:18px;letter-spacing:1px}.wordmark span{font-size:7px;letter-spacing:3px}.menu-toggle{display:block;border:0;background:transparent;font-size:12px;color:var(--wine);padding:12px}.menu-toggle span{margin-left:8px}.header nav{display:none;position:absolute;top:82px;left:0;right:0;background:var(--paper);padding:25px 6%;flex-direction:column;align-items:stretch;gap:20px;box-shadow:0 15px 20px #0002}.header nav.open{display:flex}.hero{height:calc(100svh - 82px);min-height:650px}.hero-top{top:22px;font-size:7px;letter-spacing:1px}.hero-image{object-position:61% center}.hero-shade{background:linear-gradient(0deg,#181511c9,transparent 100%)}.hero-copy{left:7%;right:7%;bottom:100px}.hero-copy>.eyebrow{font-size:8px;letter-spacing:1.4px}.hero h1{font-size:clamp(65px,13vw,105px);letter-spacing:-2px}.hero-bottom{display:block;margin-top:25px}.hero-bottom p{font-size:12px;margin-bottom:25px}.button{padding:15px 19px;gap:25px}.hero-foot>span:nth-child(2){display:none}.section{padding:70px 7%}.intro-grid,.trust-grid,.inquiry{grid-template-columns:1fr;gap:35px}.intro-grid{margin-top:28px}.intro-copy{max-width:none}.material-strip{flex-wrap:wrap;gap:18px;margin-top:40px}.material-strip .palette-note{display:none}.material-strip>span{font-size:8px;gap:8px}.swatch{width:18px;height:18px}.section-heading{display:block;margin-bottom:35px}.section-heading>p{margin-top:25px}.service-list summary{gap:20px}.service-list h3{font-size:28px}.service-body{padding-left:33px}.gallery-grid{gap:35px;grid-template-columns:1fr}.gallery-card.offset{margin-top:0}.gallery-card img,.gallery-card.offset img{height:440px}.gallery-card.wide{grid-column:1}.gallery-card.wide img{height:310px}.gallery-caption{font-size:25px}.inquiry h2{font-size:68px}.inquiry h2 br:nth-child(2){display:none}.form-grid{gap:20px;grid-template-columns:1fr}.footer{grid-template-columns:1fr}.footer nav{justify-content:start}.footer-bottom{flex-wrap:wrap}.footer-bottom>span:nth-child(2){order:3;width:100%}.lightbox-controls p{font-size:10px}.invitation h2{font-size:42px}h2{letter-spacing:-1px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*::before,*::after{animation:none!important;transition:none!important}.js-motion .reveal:not(.visible){opacity:1;transform:none}}

/* Branded monogram lockup */
.wordmark{display:inline-flex;align-items:center;gap:13px;color:var(--wine);font-size:inherit;letter-spacing:normal;line-height:1.15}
.wordmark img{width:48px;height:44px;object-fit:contain}
.wordmark .brand-name{display:block;font:18px var(--serif);letter-spacing:2px;white-space:nowrap;margin:0}
.wordmark small{display:block;font:7px var(--sans);letter-spacing:3.2px;margin-top:6px}
.invitation-mark{position:absolute;right:-70px;bottom:-170px;width:min(46vw,620px);height:auto;object-fit:contain;opacity:.055;filter:brightness(0) invert(1);pointer-events:none}
@media(max-width:800px){.wordmark{gap:9px}.wordmark img{width:39px;height:36px}.wordmark .brand-name{font-size:14px;letter-spacing:1.3px}.wordmark small{font-size:6px;letter-spacing:2.4px;margin-top:4px}.invitation-mark{right:-60px;bottom:-55px;width:280px}}
