/* Candlelight editorial direction */
:root{--cream:#fbf9f4;--plum:#332239;--gold:#bd9d75}
body{background:var(--cream)}
.site-header{height:106px;padding:0 5%;border-bottom:1px solid #e9e2dd}
.brand{font-size:21px;letter-spacing:1.4px}
.brand img{width:65px;height:65px;mix-blend-mode:multiply}
.site-header nav{gap:36px}
.button{padding:15px 28px;font-size:14px}
.nav-quote{background:transparent;color:var(--plum);border-color:#8d7e8f}
.nav-quote:hover{background:var(--plum);color:white}
.hero{margin:18px 22px 0;height:calc(100svh - 142px);min-height:720px;max-height:1020px;justify-content:flex-start;border-radius:3px}
.hero-image{object-position:50% 54%}
.hero-shade{background:linear-gradient(90deg,#1d1722ce 0%,#281d218c 35%,#251a212b 76%),linear-gradient(0deg,#1c1625c2,transparent 36%);z-index:-2}
.hero-copy{text-align:left;padding:60px 7% 85px;max-width:1000px}
.hero .eyebrow{display:flex;align-items:center;gap:16px;font-size:12px;letter-spacing:2.7px;color:#ead5b8;margin-bottom:27px}
.hero .eyebrow:before{content:'';display:block;width:42px;height:1px;background:#d1b084}
.hero h1{font-size:clamp(64px,6.35vw,108px);line-height:.99;letter-spacing:-1.5px;margin:0 0 30px}
.hero h1 em{display:inline-block;font-size:.88em;line-height:1.08;color:#efdbc0}
.hero-copy>p:not(.eyebrow){color:#f1e9e3;line-height:1.85;max-width:420px}
.hero-actions{justify-content:flex-start;margin-top:30px;gap:28px}
.hero .button-light{background:#f6ebdc;border-color:#f6ebdc;padding:16px 31px}
.hero .button-light:hover{background:white}
.hero-bottom{left:7%;right:7%;border-top:1px solid #ffffff38;padding-top:20px;bottom:23px;font-size:11px;letter-spacing:1.8px}
.hero-detail{position:absolute;right:7%;bottom:155px;text-align:right;color:#f5ece1;max-width:230px}
.detail-line{display:block;margin:0 0 20px auto;width:45px;height:1px;background:#d1b084}
.hero-detail p{font-size:11px;letter-spacing:2px;margin:0 0 8px;color:#e9d2b3}
.hero-detail>span:last-child{font:26px/1.3 var(--serif)}
.section{padding:125px 7%}
.intro{max-width:1440px;text-align:left;display:grid;grid-template-columns:1fr 1fr;gap:10%;align-items:center}
.intro-copy>p:not(.eyebrow){max-width:480px;color:var(--muted);margin:0 0 30px}
.intro h2{font-size:clamp(45px,4.5vw,70px)}
.intro-visual{position:relative;padding-bottom:48px;margin:10px 0}
.intro-visual>img{height:430px;width:100%;object-fit:cover;object-position:center 60%;border-radius:230px 230px 0 0}
.intro-caption{position:absolute;bottom:0;left:-38px;background:var(--cream);padding:26px 35px 0 0;max-width:280px}
.intro-caption>span{font-size:11px;letter-spacing:2px;color:var(--muted)}
.intro-caption p{font:29px/1.2 var(--serif);margin:14px 0 0}
.occasion-strip{padding:30px 7%;gap:42px;font-size:24px;border-color:#e9e0d6}
.services{background:#f0eaf1}
.services .eyebrow{color:#8a718c}
.service-list{gap:0}
.service{position:relative;transition:background .3s,padding .3s;border-right:0;padding:34px 28px 20px 0;margin-right:28px}
.service:before{content:'';position:absolute;left:0;right:28px;bottom:-8px;height:1px;background:#a58caf;transform:scaleX(0);transform-origin:left;transition:transform .35s}
.service:hover:before{transform:scaleX(1)}
.service-number{font-size:36px;color:#ae94b3;margin-bottom:30px}
.service h3{font-size:32px;min-height:82px}
.service-cta{color:#715077;font-size:12px;letter-spacing:.8px}
.portfolio{padding-bottom:135px}
.portfolio-grid{gap:45px 32px}
.project-image{height:440px;border-radius:2px}
.project-caption{padding-top:21px}
.project-caption h3{font-size:28px}
.project-image:after{content:'';position:absolute;inset:0;box-shadow:inset 0 0 0 1px #35233f0d;pointer-events:none}
.filters{margin-bottom:42px;gap:32px}
.filters button{padding-bottom:18px}
.approach{background:#332239;color:#fbf8f2;gap:10%;overflow:hidden}
.approach-photo{padding:0 55px 50px 0;min-width:0}
.approach-photo:before{inset:30px 30px 22px -22px;border-color:#bca07b69}
.approach-photo>img{height:625px;object-fit:cover;width:100%;border-radius:220px 220px 2px 2px;object-position:center}
.approach-inset{position:absolute;right:0;bottom:80px;width:43%;border:7px solid #332239}
.approach-inset img{height:230px;object-fit:cover;width:100%;border-radius:0}
.photo-note{color:#c9b496;left:0;bottom:2px;font-size:11px;letter-spacing:1.7px}
.approach .eyebrow{color:#d0b493}
.approach h2 em{color:#dfc6aa}
.approach-copy>p:not(.eyebrow){color:#d2c4d4;line-height:1.8}
.steps>div{border-color:#ffffff21;padding:18px 0}
.steps p{color:#c8b7cd}
.steps strong{color:#f8f0e7}
.steps>div>span{color:#d0b493}
.approach .button{background:#ecddca;color:#332239;border-color:#ecddca;margin-top:10px}
.approach .button:hover{background:white}
.client-story{padding-top:135px;padding-bottom:135px}
.client-story .eyebrow{color:#8a718c}
.client-story h2{font-size:70px}
.review-links{padding-top:28px;border-top:1px solid var(--line);margin-top:44px}
.contact{background:#ede5ef;color:var(--plum);padding-top:100px;padding-bottom:80px}
.contact .eyebrow{color:#7f6386}
.contact>p:not(.eyebrow),.contact-handle{color:#77677d}
.contact .button-light{background:var(--plum);color:white;border-color:var(--plum)}
.contact .button-light:hover{background:#58385f}
.contact:before,.contact:after{border-color:#997ba42b}
.contact-details{border-color:#b79ec139}
footer{background:var(--cream)}
.footer-bottom a{text-decoration:underline;text-underline-offset:3px}
.floating-quote{box-shadow:0 8px 30px #1f102930}
@media(min-width:1700px){.hero-copy{padding-left:9%}.hero-bottom{left:9%;right:9%}.intro{max-width:1550px}}
@media(max-width:1100px){.site-header nav{gap:23px}.hero{min-height:730px}.hero h1{font-size:80px}.hero-detail{right:5%;max-width:180px}.hero-detail>span:last-child{font-size:24px}.intro{gap:6%}.intro-visual>img{height:380px}.intro-caption{left:-15px}.service h3{min-height:0}.approach{gap:7%}.approach-photo>img{height:570px}.approach-inset img{height:195px}.client-story h2{font-size:60px}}
@media(max-width:760px){.site-header{height:86px;padding:0 22px}.brand{font-size:18px}.brand img{width:54px;height:54px}.site-header nav{top:86px}.hero{margin:8px 10px 0;height:calc(100svh - 108px);min-height:715px;max-height:930px}.hero-image{object-position:56% center}.hero-shade{background:linear-gradient(90deg,#211726c7,#2117264f),linear-gradient(0deg,#211726a6,transparent 60%)}.hero-copy{padding:38px 28px 110px}.hero h1{font-size:64px;line-height:1.05;letter-spacing:-1px;margin-bottom:26px}.hero h1 em{font-size:.83em}.hero .eyebrow{font-size:10px;letter-spacing:1.6px;gap:9px;line-height:1.8;margin-bottom:24px}.hero .eyebrow:before{width:24px}.hero-copy>p:not(.eyebrow){font-size:16px;max-width:285px}.hero-actions{align-items:flex-start;gap:12px;margin-top:28px}.hero .button-light{padding:15px 24px}.hero-bottom{left:28px;right:28px;bottom:25px;font-size:10px;padding-top:18px;letter-spacing:1px}.hero-bottom span:nth-child(2),.hero-bottom a,.hero-detail{display:none}.section{padding:80px 26px}.intro{grid-template-columns:1fr;gap:36px}.intro h2{font-size:51px}.intro-visual{margin:0 12px 0 22px;padding-bottom:40px}.intro-visual>img{height:340px;border-radius:180px 180px 0 0}.intro-caption{left:-20px;padding:22px 25px 0 0}.intro-caption p{font-size:27px}.occasion-strip{font-size:22px;gap:12px 20px;padding:24px 20px}.service{padding:26px 15px 30px 0;margin:0}.service:nth-child(even){padding-left:18px;border-left:1px solid #cfc5d4}.service h3{font-size:27px;min-height:66px;margin-bottom:18px}.service-number{font-size:31px;margin-bottom:22px}.service-cta{font-size:12px;letter-spacing:.3px}.service:before{right:8px}.portfolio-grid{gap:33px 18px}.project-image{height:260px}.project-wide .project-image{height:330px}.project-caption h3{font-size:24px}.project-caption span{font-size:11px}.filters{gap:16px 20px;margin-bottom:30px}.filters button{font-size:13px}.approach{gap:40px}.approach-photo{padding:0 36px 40px 12px;margin-left:8px}.approach-photo:before{inset:22px 22px 16px -8px}.approach-photo>img{height:415px;border-radius:170px 170px 0 0}.approach-inset{width:43%;bottom:63px}.approach-inset img{height:155px}.photo-note{font-size:10px;letter-spacing:1px}.approach-copy h2{font-size:52px}.client-story h2{font-size:50px}.client-story .eyebrow{font-size:11px;letter-spacing:2px}.contact{padding:85px 24px 70px}.contact h2{font-size:58px}.footer-bottom{flex-wrap:wrap;gap:12px}.footer-bottom>span:last-child{display:block;font-size:11px}.floating-quote{bottom:18px;right:18px}}
@media(max-width:380px){.hero-copy{padding-left:22px;padding-right:22px}.hero h1{font-size:57px}.hero .eyebrow{font-size:9px;letter-spacing:1.3px}.hero .eyebrow:before{width:20px}.intro h2,.approach-copy h2,.client-story h2{font-size:45px}.service h3{font-size:24px}.service p{font-size:15px}.project-caption h3{font-size:22px}.project-wide .project-image{height:285px}}
.faq{display:grid;grid-template-columns:1fr 1fr;gap:9%;background:#f5f0f3}.faq .eyebrow{color:#8a718c}.faq h2{font-size:60px}.faq>div>p:not(.eyebrow){color:var(--muted)}.faq-list{border-top:1px solid #d7cbd9}.faq details{border-bottom:1px solid #d7cbd9;padding:21px 0}.faq summary{cursor:pointer;list-style:none;font-size:17px;font-weight:500;padding-right:32px;position:relative;line-height:1.6}.faq summary::-webkit-details-marker{display:none}.faq summary:after{content:'+';position:absolute;right:2px;top:0;font-size:24px;font-weight:400;color:#88698e}.faq details[open] summary:after{content:'−'}.faq details p{font-size:16px;line-height:1.8;margin:16px 32px 0 0;color:#786b7d}.faq summary:focus-visible{outline:3px solid var(--gold);outline-offset:6px}#quote-dialog input,#quote-dialog textarea,#quote-dialog select{font-size:16px}.hero-bottom a{margin-right:120px}@media(max-width:760px){.faq{grid-template-columns:1fr;gap:32px}.faq h2{font-size:48px}.faq summary{font-size:16px}.faq details{padding:19px 0}.faq details p{margin-right:16px}.service-cta{min-height:30px}.filters button{min-height:44px}}
