@import url('https://fonts.googleapis.com/css2?family=DM+Sans:wght@400;500;600;700&family=Playfair+Display:wght@500;600&display=swap');
:root{--cream:#f5f1e8;--gold:#b08d57;--ink:#222;--muted:#626262;--line:#e7e0d6;--white:#fff}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--cream);color:var(--ink);font:16px/1.65 'DM Sans',Arial,sans-serif}h1,h2,h3,p{margin:0 0 18px}h1,h2{font-family:'Playfair Display',Georgia,serif;font-weight:500;line-height:1.13;letter-spacing:-.025em}h1{font-size:clamp(2.75rem,5.5vw,5.15rem);max-width:920px}h2{font-size:clamp(2rem,3.7vw,3.25rem)}h3{font-size:1.25rem;line-height:1.3}a{color:inherit}a:focus-visible,button:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible,summary:focus-visible{outline:3px solid var(--gold);outline-offset:3px}.container{width:min(1160px,calc(100% - 48px));margin:auto}.skip-link{position:absolute;top:-100px;left:20px;z-index:100;background:white;padding:12px}.skip-link:focus{top:10px}.site-header{background:var(--cream);padding:15px 0}.nav-shell{width:min(1290px,calc(100% - 32px));margin:auto;min-height:88px;background:white;border-radius:23px;box-shadow:0 12px 32px #0000000a;display:flex;align-items:center;justify-content:space-between;gap:25px;padding:10px 24px;position:relative}.brand{display:flex;flex-shrink:0;max-width:220px}.brand img{width:100%;height:64px;object-fit:contain;object-position:left}.nav-shell nav{display:flex;align-items:center;gap:18px;flex-wrap:wrap;justify-content:flex-end}.nav-shell nav a{font-size:.79rem;font-weight:700;text-decoration:none;white-space:nowrap}.nav-shell nav a:hover,.nav-shell nav a[aria-current=page]{color:var(--gold)}.menu-toggle{display:none}.eyebrow{color:var(--gold);font-weight:700;font-size:.75rem;letter-spacing:.18em;text-transform:uppercase}.hero{position:relative;overflow:hidden;padding:100px 0 110px;isolation:isolate}.hero-inner{padding:72px 0 80px}.hero-content{position:relative;z-index:1}.hero h1{margin:18px 0 22px}.hero-lead{font-size:1.14rem;max-width:680px;color:var(--muted);margin-bottom:30px}.hero-decor{position:absolute;z-index:0;inset:0;pointer-events:none;opacity:.24}.hero-decor span{position:absolute;right:-12%;top:-30%;border:1px solid #b08d5780;border-radius:50%;width:620px;height:620px}.hero-decor span:nth-child(2){right:-7%;top:-20%;width:480px;height:480px}.hero-decor span:nth-child(3){right:-2%;top:-10%;width:340px;height:340px}.button{display:inline-flex;align-items:center;gap:12px;padding:14px 23px;background:var(--gold);border:0;border-radius:8px;color:white;text-decoration:none;font:700 .78rem 'DM Sans',sans-serif;letter-spacing:.075em;cursor:pointer;transition:background .2s,transform .2s}.button:hover{background:#947243;transform:translateY(-2px)}.section{padding:86px 0}.section.white{background:#fff}.section.cream{background:var(--cream)}.section-heading{max-width:760px;text-align:center;margin:0 auto 42px}.section-heading h2{margin:0 0 20px}.section-heading>p:last-child{color:var(--muted);font-size:1.05rem}.section-heading>p:last-child:empty{display:none}.card-grid{display:grid;gap:24px}.card-grid.two{grid-template-columns:repeat(2,minmax(0,1fr))}.card-grid.three{grid-template-columns:repeat(3,minmax(0,1fr))}.card-grid.four{grid-template-columns:repeat(4,minmax(0,1fr))}.card{padding:34px;border:1px solid var(--line);border-radius:23px;background:white;min-width:0}.card.accent,.price-panel{background:var(--cream);border-color:#d9c7a7}.card-number{display:block;font-size:.76rem;letter-spacing:.16em;font-weight:700;color:var(--gold);margin-bottom:23px}.card h3{font-size:1.45rem}.card p,.step p,.portfolio-tile p{color:var(--muted)}.text-link{display:inline-block;color:#97743f;text-decoration:none;font-size:.76rem;letter-spacing:.06em;font-weight:700;margin-top:10px}.text-link:hover{text-decoration:underline}.steps{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:0}.step{padding:18px 28px;border-left:1px solid var(--line)}.step:last-child{border-right:1px solid var(--line)}.step-num{display:block;color:var(--gold);font-size:.83rem;font-weight:700;letter-spacing:.15em;margin-bottom:22px}.step h3{font-size:1.35rem}.split{display:grid;grid-template-columns:minmax(0,.8fr) minmax(0,1.6fr);gap:60px;align-items:start}.price-panel{padding:40px;border:1px solid #d9c7a7;border-radius:24px}.price{font-size:4rem;letter-spacing:-.055em;font-weight:700;line-height:1.1}.price-caption{color:var(--muted);margin:8px 0 28px}.price-panel>p:not(.eyebrow){color:var(--muted)}.check-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.check-item{padding:17px;background:var(--cream);border-radius:12px;color:#4a4a4a;display:flex;gap:12px;align-items:start}.check-item span{color:var(--gold);font-weight:700}.comparison ul{list-style:none;padding:0;margin:0}.comparison li{padding:13px 0;border-bottom:1px solid var(--line);color:var(--muted)}.comparison li:last-child{border-bottom:0}.faq-list{max-width:880px;margin:auto}.faq-list details{border-bottom:1px solid #d8d0c3;padding:23px 0}.faq-list details:first-child{border-top:1px solid #d8d0c3}.faq-list summary{display:flex;justify-content:space-between;gap:20px;cursor:pointer;font-size:1.07rem;font-weight:700;list-style:none}.faq-list summary::-webkit-details-marker{display:none}.faq-list details[open] summary span{transform:rotate(45deg)}.faq-list summary span{color:var(--gold);font-size:1.5rem;transition:transform .2s}.faq-list details p{color:var(--muted);margin:12px 0 0}.cta-section{background:#222;color:white;text-align:center;padding:85px 0}.cta-inner{max-width:790px}.cta-inner h2{margin-bottom:18px}.cta-inner>p:not(.eyebrow){color:#ccc;margin-bottom:28px}.centered-action{text-align:center;margin-top:34px}.portfolio-tile{background:white;border-radius:23px;overflow:hidden;padding-bottom:25px}.portfolio-tile h3,.portfolio-tile p,.concept-label{margin-left:27px;margin-right:27px}.portfolio-tile h3{margin-top:24px}.tile-art{height:245px;display:flex;align-items:center;justify-content:center;position:relative;letter-spacing:.22em;font-family:Georgia,serif;font-size:1.65rem;color:#fff}.tile-art span{position:absolute;right:22px;bottom:17px;font:700 .7rem 'DM Sans',sans-serif}.tile-web{background:linear-gradient(140deg,#25282a,#8c7755)}.tile-social{background:linear-gradient(140deg,#d2bd9e,#8e7052)}.tile-print{background:linear-gradient(140deg,#565e5b,#b8a78b)}.concept-label{font-size:.68rem;letter-spacing:.14em;color:var(--gold);font-weight:700}.editorial{display:grid;grid-template-columns:1fr 1.25fr;gap:75px;max-width:980px;margin:auto}.editorial h3{font:500 2rem/1.2 Georgia,serif}.editorial p{color:var(--muted)}.contact-grid{display:grid;grid-template-columns:.9fr 1.1fr;gap:80px;align-items:start}.contact-info>p:not(.eyebrow){color:var(--muted)}.contact-info>a{display:block;overflow-wrap:anywhere;margin-bottom:12px;font-weight:700;color:#96743f}.small-print,.form-note{color:var(--muted);font-size:.83rem}.contact-form{background:var(--cream);border-radius:22px;padding:36px}.contact-form label{display:block;font-weight:700;margin:16px 0 6px}.contact-form input,.contact-form select,.contact-form textarea{display:block;width:100%;padding:12px 13px;border:1px solid #d6cfc2;border-radius:8px;background:white;font:inherit}.contact-form button{margin-top:23px}.contact-form .form-note{margin-top:16px}.site-footer{background:#171717;color:#fff;padding:65px 0 25px}.footer-layout{display:grid;grid-template-columns:2fr 1fr 1fr;gap:65px}.footer-name{font-size:1.35rem;color:var(--gold);font-weight:700;text-decoration:none}.footer-layout h3{font-size:1rem}.footer-layout p,.footer-layout a:not(.footer-name){color:#aaa}.footer-layout a:not(.footer-name){display:block;text-decoration:none;margin-bottom:8px}.footer-layout a:hover{color:var(--gold)}.footer-location{font-size:.86rem}.footer-bottom{border-top:1px solid #333;margin-top:40px;padding-top:23px;display:flex;justify-content:space-between;gap:20px;flex-wrap:wrap;color:#999;font-size:.79rem}
@media(max-width:1120px){.nav-shell nav{gap:10px}.nav-shell nav a{font-size:.72rem}.brand{max-width:175px}.card-grid.four{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:850px){.nav-shell{min-height:75px;padding:10px 18px}.brand{max-width:190px}.brand img{height:53px}.menu-toggle{display:flex;width:42px;height:42px;flex-direction:column;align-items:center;justify-content:center;gap:5px;border:0;background:transparent;cursor:pointer;flex-shrink:0}.menu-toggle span{display:block;width:23px;height:2px;background:#222;border-radius:2px}.nav-shell nav{display:none;position:absolute;z-index:20;top:calc(100% + 8px);left:0;right:0;background:white;box-shadow:0 14px 32px #0002;border-radius:18px;padding:14px 20px;flex-direction:column;align-items:stretch;gap:0}.nav-shell nav.open{display:flex}.nav-shell nav a{padding:11px 4px;font-size:.96rem}.hero-decor{opacity:.13}.steps{grid-template-columns:repeat(2,minmax(0,1fr));row-gap:28px}.step:nth-child(2){border-right:1px solid var(--line)}.split,.contact-grid,.editorial{grid-template-columns:1fr;gap:35px}.footer-layout{gap:30px}}
@media(max-width:640px){.container{width:calc(100% - 38px)}.site-header{padding:10px 0}.nav-shell{width:calc(100% - 20px);border-radius:18px}.brand{max-width:165px}.hero,.hero-inner{padding:54px 0 62px}.hero h1{font-size:clamp(2.4rem,10.5vw,3.6rem)}.hero-lead{font-size:1rem}.section{padding:58px 0}.section-heading{margin-bottom:30px}.card-grid.two,.card-grid.three,.card-grid.four,.check-grid,.footer-layout{grid-template-columns:1fr}.card-grid{gap:16px}.card{padding:28px}.steps{grid-template-columns:1fr;gap:0}.step,.step:nth-child(2),.step:last-child{border:0;border-bottom:1px solid var(--line);padding:22px 8px}.step:last-child{border:0}.price-panel{padding:30px 25px}.price{font-size:3.3rem}.cta-section{padding:62px 0}.contact-form{padding:25px 21px}.site-footer{padding:54px 0 24px}.footer-layout{gap:26px}.footer-bottom{margin-top:28px}.tile-art{height:210px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}.button,.faq-list summary span{transition:none}}
/* Inquiry and service intake forms */
.form-page-layout{display:grid;grid-template-columns:minmax(0,.75fr) minmax(0,1.25fr);gap:65px;align-items:start}.form-intro p{color:var(--muted)}.intake-form{margin:0}.form-fields{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));column-gap:20px}.form-fields .field{min-width:0}.form-fields .field:has(textarea),.form-fields .field:has(select[name="service"]),.form-fields .field:has(select[name="marketing_services"]){grid-column:1/-1}.field label{margin:14px 0 6px}.field-hint{font-size:.78rem;color:var(--muted);margin:5px 0}.consent{display:flex!important;align-items:start;gap:10px;font-weight:400!important;margin-top:20px!important}.consent input{width:auto!important;margin-top:6px;flex:none}.consent span{font-size:.88rem;line-height:1.5}.intake-form button{max-width:100%}@media(max-width:850px){.form-page-layout{grid-template-columns:1fr;gap:25px}}@media(max-width:640px){.form-fields{grid-template-columns:1fr}.form-fields .field{grid-column:1/-1}}

/* V4: logo visibility, consistent mobile layout and page finishing */
.brand{max-width:280px;width:280px;min-width:0}
.brand img{display:block;width:100%;height:auto;max-height:76px;object-fit:contain;object-position:left center}
.nav-shell{gap:18px}
.nav-shell nav{gap:clamp(8px,1.1vw,17px)}
.nav-shell nav a{font-size:.74rem}
@media(max-width:1180px){.brand{max-width:215px;width:215px}}
@media(max-width:850px){.brand{max-width:225px;width:225px}.brand img{max-height:65px}}
@media(max-width:400px){.brand{max-width:205px;width:205px}}
.page-finisher{background:#fff;padding:65px 0;border-top:1px solid var(--line)}
.page-finisher-inner{display:flex;align-items:center;justify-content:space-between;gap:25px;flex-wrap:wrap}
.page-finisher h2{font-size:clamp(1.7rem,3vw,2.6rem);margin:0}
.page-finisher p{color:var(--muted);margin:10px 0 0}
@media(max-width:640px){.page-finisher{padding:45px 0}.page-finisher-inner{display:block}.page-finisher .button{margin-top:24px}}

/* V5 cinematic design system */
:root{--deep:#151c1b;--soft-gold:#c7a675}
body{overflow-x:hidden}
.site-header{position:relative;z-index:20}
.nav-shell{border:1px solid rgba(176,141,87,.16)}
.brand{position:relative;min-width:170px;min-height:57px;align-items:center}
.brand img{position:relative;z-index:2;max-height:65px;object-fit:contain}
.brand-fallback,.brand-sub{display:none}
.cinematic-hero{position:relative;min-height:660px;background:#19211f;color:#fff;isolation:isolate;overflow:hidden;display:flex;align-items:center}
.cinematic-hero:before{content:'';position:absolute;inset:0;background-image:linear-gradient(90deg,rgba(13,20,19,.95) 0%,rgba(13,20,19,.83) 39%,rgba(13,20,19,.32) 100%),var(--hero-art);background-position:center,right center;background-size:cover,auto 112%;background-repeat:no-repeat;z-index:-2;animation:cinemaPan 22s ease-in-out infinite alternate}
.cinematic-hero:after{content:'';position:absolute;inset:0;background:linear-gradient(0deg,rgba(14,20,19,.55),transparent 45%);z-index:-1;pointer-events:none}
.cinematic-hero .hero-content{position:relative;z-index:1;padding-top:115px;padding-bottom:120px}
.cinematic-hero .hero-content h1{max-width:790px;color:#fff;text-wrap:balance}
.cinematic-hero .hero-lead{max-width:620px;color:#e2e4de}
.cinematic-hero .eyebrow{color:#d2b889}
.hero-stamp{position:absolute;right:4%;bottom:25px;color:#ffffffa8;font-size:10px;letter-spacing:3px}
@keyframes cinemaPan{from{background-position:center,right center}to{background-position:center,95% center}}
.showcase-band{background:#1a2321;color:#f9f5ed;padding:90px 0}
.showcase-layout{display:grid;grid-template-columns:1fr 1.15fr;gap:65px;align-items:center}
.showcase-copy h2{color:inherit}.showcase-copy p{color:inherit;opacity:.82}.showcase-copy .eyebrow{color:#d0af7c}.showcase-copy .text-link{color:#d0af7c}
.visual-frame{position:relative;overflow:hidden;border-radius:16px;box-shadow:0 24px 70px #0004;background:#d3c5b0}
.visual-frame img{display:block;width:100%;height:auto;transition:transform 1s ease}.visual-frame:hover img{transform:scale(1.045)}
.frame-tag{position:absolute;bottom:16px;left:16px;padding:8px 12px;background:#17211de0;color:#fff;font-size:10px;letter-spacing:1.8px;border-radius:3px}
.concept-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:23px}
.concept-panel{min-width:0;border:1px solid #e3d9ca;border-radius:16px;background:#f8f4ed;overflow:hidden;transition:transform .3s,box-shadow .3s}.concept-panel:hover{transform:translateY(-7px);box-shadow:0 20px 42px #241d1617}
.concept-meta{padding:24px}.concept-meta>span{font-size:11px;letter-spacing:2px;color:#947246}.concept-meta h3{margin-top:13px}.concept-meta p{font-size:14px;color:#666}
.concept-web,.concept-social,.concept-print{padding-top:26px}
.concept-screen{width:85%;height:280px;margin:auto;background:#e5ddd0;border:9px solid #252e2b;border-radius:12px 12px 0 0;overflow:hidden;box-shadow:0 14px 25px #0002}
.screen-bar{height:22px;background:#eee9df;display:flex;gap:5px;align-items:center;padding:0 8px}.screen-bar i{width:6px;height:6px;border-radius:50%;background:#baad99}
.screen-hero{height:calc(100% - 22px);background:linear-gradient(120deg,#243c38a8,#111a19a8),url('images/coastal-home.svg') center/cover;display:flex;flex-direction:column;justify-content:center;align-items:center;color:white;text-align:center;padding:15px}
.screen-hero small,.screen-hero span{font-size:9px;letter-spacing:2px}.screen-hero strong{font:30px/1.15 Georgia,serif;margin:14px 0}.screen-hero span{padding:10px;border:1px solid #fff8}
.social-stack{height:280px;position:relative;overflow:hidden}.social-card{position:absolute;width:57%;height:230px;left:22%;top:10px;border-radius:5px;box-shadow:0 15px 25px #0003;padding:22px;display:flex;flex-direction:column;justify-content:space-between}.social-back{background:#5b706c;color:#fff;transform:rotate(-12deg) translateX(-35px);font:23px Georgia,serif}.social-back span{font:10px Arial;letter-spacing:2px}.social-front{background:linear-gradient(#19292340,#192923a8),url('images/coastal-home.svg') center/cover;color:#fff;transform:rotate(8deg) translateX(24px);animation:socialFloat 6s ease-in-out infinite}.social-front small,.social-front span{font:9px Arial;letter-spacing:1.4px}.social-front strong{font:30px/1.15 Georgia,serif}@keyframes socialFloat{50%{transform:rotate(5deg) translate(20px,-8px)}}
.flyer-mock{height:280px;width:68%;margin:auto;background:#fff;box-shadow:0 12px 25px #0003;transform:rotate(-4deg);animation:flyerFloat 7s ease-in-out infinite}.flyer-photo{height:55%;background:url('images/coastal-home.svg') center/cover}.flyer-info{padding:15px;display:flex;flex-direction:column;gap:7px}.flyer-info small,.flyer-info span{font-size:8px;letter-spacing:1.5px;color:#8b704a}.flyer-info strong{font:22px/1.1 Georgia,serif}@keyframes flyerFloat{50%{transform:rotate(-1deg) translateY(-7px)}}
.dark-workflow{background:#192320;color:#fff}.dark-workflow .section-heading h2{color:#fff}.dark-workflow .section-heading p{color:#d2d9d2}.dark-workflow .eyebrow{color:#d0af7c}
.timeline-board{position:relative;padding:50px 0 25px}.timeline-track{position:absolute;left:9%;right:9%;top:73px;height:2px;background:#ffffff38}.timeline-progress{height:100%;width:100%;background:#c7a675;transform-origin:left;animation:trackGrow 6s ease-in-out infinite alternate}@keyframes trackGrow{from{transform:scaleX(.05)}to{transform:scaleX(1)}}
.milestone-list{display:grid;grid-template-columns:repeat(4,1fr);gap:28px;position:relative}.milestone-dot{display:grid;place-items:center;background:#c7a675;color:#1a221f;width:48px;height:48px;border-radius:50%;font-weight:700;box-shadow:0 0 0 7px #192320;animation:milestoneGlow 6s ease-in-out infinite}.milestone:nth-child(2) .milestone-dot{animation-delay:1.5s}.milestone:nth-child(3) .milestone-dot{animation-delay:3s}.milestone:nth-child(4) .milestone-dot{animation-delay:4.5s}@keyframes milestoneGlow{50%{box-shadow:0 0 0 7px #192320,0 0 0 13px #c7a67533}}.milestone h3{margin-top:27px;color:white}.milestone p{font-size:14px;color:#c9d1cb}.timeline-note{font-size:12px;color:#b7c1ba}
.listing-visual{background:#e8e2d7}.listing-showcase{display:grid;grid-template-columns:1.2fr 1fr;gap:70px;align-items:center}.listing-photo{position:relative;border-radius:15px;overflow:hidden;box-shadow:0 24px 50px #0002}.listing-photo img{display:block;width:100%}.listing-checklist h2{margin:18px 0}.animated-checks{margin:28px 0;display:grid;gap:11px}.animated-checks>div{padding:14px 18px;background:#fff;border-radius:8px;display:flex;gap:12px;animation:checkAppear 1s both}.animated-checks>div:nth-child(2){animation-delay:.25s}.animated-checks>div:nth-child(3){animation-delay:.5s}.animated-checks>div:nth-child(4){animation-delay:.75s}.animated-checks span{color:#987344;font-weight:700}@keyframes checkAppear{from{opacity:.3;transform:translateX(-12px)}to{opacity:1;transform:none}}
.reveal{opacity:1}
.cp-assistant{position:fixed;z-index:100;right:22px;bottom:22px;font-family:'DM Sans',Arial,sans-serif}.assistant-launch{border:1px solid #d8bd8e;background:#1c2824;color:white;padding:14px 19px;border-radius:100px;display:flex;gap:11px;align-items:center;cursor:pointer;box-shadow:0 14px 40px #0004;font-weight:700;font-size:13px}.assistant-launch:hover{background:#2b3d35}.assistant-pulse{width:9px;height:9px;background:#c7a675;border-radius:50%;box-shadow:0 0 0 5px #c7a67533}.assistant-panel{position:absolute;bottom:66px;right:0;width:min(370px,calc(100vw - 28px));background:#faf7f1;border:1px solid #d8cdbd;border-radius:17px;box-shadow:0 25px 80px #0005;overflow:hidden}.assistant-panel[hidden]{display:none}.assistant-head{background:#1c2824;color:#fff;padding:20px;display:flex;justify-content:space-between;align-items:center}.assistant-head small{display:block;color:#cbb18b;letter-spacing:1.5px;font-size:10px}.assistant-head strong{display:block;font:22px Georgia,serif}.assistant-close{border:0;background:transparent;color:white;font-size:30px;cursor:pointer}.assistant-body{padding:19px;max-height:280px;overflow:auto}.assistant-bubble,.assistant-answer{font-size:14px;line-height:1.55;background:#fff;border:1px solid #e6dfd2;padding:13px 15px;border-radius:12px}.assistant-answer:empty{display:none}.assistant-answer{margin-top:10px;background:#efe7da}.assistant-answer a{display:inline-block;margin-top:8px;color:#76562d;font-weight:700}.assistant-options{display:grid;grid-template-columns:1fr 1fr;gap:8px;padding:0 18px 18px}.assistant-options button{border:1px solid #d7c5a9;background:white;border-radius:8px;padding:10px 8px;cursor:pointer;font-size:12px;text-align:left}.assistant-options button:hover{background:#eae0d0}.assistant-disclaimer{margin:0;padding:0 18px 15px;font-size:10px;color:#7b746a}
@media(max-width:900px){.cinematic-hero{min-height:550px}.cinematic-hero:before{background-image:linear-gradient(90deg,rgba(13,20,19,.93),rgba(13,20,19,.55)),var(--hero-art);background-size:cover,cover}.showcase-layout,.listing-showcase{grid-template-columns:1fr;gap:30px}.concept-grid{grid-template-columns:1fr 1fr}.milestone-list{gap:12px}}
@media(max-width:620px){.cinematic-hero{min-height:510px}.cinematic-hero .hero-content{padding-top:80px;padding-bottom:90px}.cinematic-hero h1{font-size:clamp(2.4rem,10vw,3.8rem)}.concept-grid{grid-template-columns:1fr}.timeline-track{left:22px;right:auto;top:55px;bottom:35px;width:2px;height:auto}.timeline-progress{width:2px;height:100%;transform-origin:top;animation:trackGrowMobile 6s ease-in-out infinite alternate}@keyframes trackGrowMobile{from{transform:scaleY(.05)}to{transform:scaleY(1)}}.milestone-list{grid-template-columns:1fr;gap:16px}.milestone{display:grid;grid-template-columns:54px 1fr;column-gap:15px;align-items:center}.milestone-dot{grid-row:span 2}.milestone h3{margin:0}.milestone p{margin:0}.cp-assistant{right:12px;bottom:12px}.assistant-launch{padding:12px 15px}.assistant-panel{bottom:60px}.showcase-band{padding:60px 0}}
@media(prefers-reduced-motion:reduce){.cinematic-hero:before,.social-front,.flyer-mock,.timeline-progress,.milestone-dot,.animated-checks>div{animation:none!important}html{scroll-behavior:auto}}


/* V6: interactive portfolio and branded creative concepts */
.portfolio-studio{background:#faf8f4}.studio-controls{max-width:980px;margin:0 auto 32px}.studio-controls label{display:block;font-size:11px;letter-spacing:2px;font-weight:700;color:#876b44;margin-bottom:12px}.studio-input-row{display:flex;gap:12px}.studio-input-row input{flex:1;min-width:0;border:1px solid #cbbca5;border-radius:7px;padding:16px 19px;font:18px Georgia,serif;color:#25302b;background:white}.studio-input-row input:focus{outline:3px solid #b08d5760;outline-offset:2px}.studio-reset{padding:12px 19px;border:1px solid #b08d57;border-radius:7px;background:transparent;color:#59452c;cursor:pointer}.studio-hint{font-size:12px;color:#716e67;margin:10px 0 20px}.studio-tabs{display:flex;gap:9px;flex-wrap:wrap}.studio-tab{padding:12px 18px;border:1px solid #cbbca5;border-radius:100px;background:#fff;color:#3a3834;cursor:pointer;font-size:13px}.studio-tab.active{background:#1c2824;border-color:#1c2824;color:white}.studio-preview{display:grid;grid-template-columns:minmax(0,1.7fr) minmax(245px,.8fr);gap:36px;align-items:center}.preview-browser{border-radius:13px;overflow:hidden;background:#fff;box-shadow:0 25px 75px #1a241f26;border:1px solid #d8cbb9;min-width:0}.preview-browser-bar{height:35px;background:#f0eae1;display:flex;justify-content:space-between;align-items:center;padding:0 13px;color:#8b7b65;font-size:9px;letter-spacing:1px}.browser-dots{display:flex;gap:5px}.browser-dots i{width:7px;height:7px;border-radius:50%;background:#b9a88f}.preview-nav{display:flex;justify-content:space-between;align-items:center;padding:20px 24px;gap:10px;background:#fff;color:#25302b}.preview-nav strong{font:20px Georgia,serif;overflow-wrap:anywhere}.preview-nav span{font-size:9px;letter-spacing:1.2px;white-space:nowrap}.preview-hero{min-height:355px;display:flex;align-items:center;background:linear-gradient(90deg,#172a27df,#172a2740),url('images/coastal-home.svg') center/cover;padding:45px 32px;color:white}.preview-hero-copy{max-width:370px}.preview-hero-copy small{font-size:10px;letter-spacing:2px;color:#e4d2ad}.preview-hero-copy h3{font:clamp(36px,4.5vw,62px)/1.05 Georgia,serif;color:white;margin:19px 0}.preview-hero-copy h3 em{font-weight:400;color:#e0c89d}.preview-hero-copy p{font-size:14px;color:#f0eee8}.preview-fake-cta{display:inline-block;margin-top:18px;padding:12px 16px;border:1px solid #ffffffb0;font-size:10px;letter-spacing:1.4px}.preview-bottom{display:flex;justify-content:space-between;gap:12px;padding:16px 22px;font-size:9px;letter-spacing:1px;color:#777}.preview-bottom b{overflow-wrap:anywhere}.preview-side h3{font:clamp(30px,3vw,43px)/1.1 Georgia,serif;margin:14px 0;color:#26332d}.preview-side p:not(.eyebrow){line-height:1.75;color:#666}.preview-side .button{margin:20px 0}.preview-side .concept-label{display:block}.theme-editorial .preview-nav{background:#eee6d8}.theme-editorial .preview-hero{background:linear-gradient(90deg,#eee9dfed,#eee9df30),url('images/coastal-home.svg') center/cover;color:#262626}.theme-editorial .preview-hero-copy h3{color:#262626}.theme-editorial .preview-hero-copy h3 em{color:#936e43}.theme-editorial .preview-hero-copy p,.theme-editorial .preview-hero-copy small{color:#333}.theme-editorial .preview-fake-cta{border-color:#333}.theme-dark .preview-nav,.theme-dark .preview-bottom{background:#18231f;color:#e9e1d4}.theme-dark .preview-hero{background:linear-gradient(90deg,#0e1615f5,#0e1615a0),url('images/creative-studio.svg') center/cover}.theme-dark .preview-hero-copy h3 em{color:#c6a475}.portfolio-gallery{background:#ede7dd}.gallery-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:22px}.gallery-card{background:#fff;border:1px solid #e3d8c7;border-radius:14px;overflow:hidden;box-shadow:0 10px 35px #0000000a}.gallery-visual{height:325px;padding:22px;display:grid;place-items:center;overflow:hidden}.gallery-social{background:#a8b6aa}.social-demo-card{width:min(100%,265px);aspect-ratio:4/5;background:linear-gradient(#17292370,#172923ba),url('images/coastal-home.svg') center/cover;box-shadow:0 16px 35px #0004;color:#fff;padding:20px;display:flex;flex-direction:column;justify-content:space-between;transform:rotate(-3deg)}.demo-overline,.demo-social-footer{font-size:9px;letter-spacing:1.6px}.demo-overline span{opacity:.75}.demo-social-title{font:34px/1.1 Georgia,serif}.demo-social-title em{color:#e4cb9d}.gallery-listing{background:#ded2c2}.listing-demo{width:min(100%,260px);height:285px;background:#fff;box-shadow:0 14px 30px #0003;transform:rotate(2deg)}.listing-demo-photo{height:53%;background:url('images/coastal-home.svg') center/cover}.listing-demo-copy{padding:16px;display:flex;flex-direction:column;gap:9px}.listing-demo-copy small,.listing-demo-copy span{font-size:9px;letter-spacing:1.4px;color:#8e714c}.listing-demo-copy strong{font:27px/1.05 Georgia,serif;color:#24332c}.gallery-campaign{background:#293832}.campaign-demo{border:1px solid #bba57d;padding:25px;width:100%;height:100%;color:#ead8b9;display:flex;flex-direction:column;justify-content:space-between}.campaign-demo>span,.campaign-demo small{font-size:10px;letter-spacing:2px}.campaign-demo strong{font:clamp(25px,3vw,40px)/1.1 Georgia,serif;color:#f6f0e7}.campaign-demo strong i{color:#c9a875;font-weight:400}.campaign-rule{height:1px;background:#bba57d}.gallery-copy{padding:23px}.gallery-copy h3{margin:12px 0}.gallery-copy p{color:#666;font-size:14px;line-height:1.65}.gallery-copy .concept-label{display:block;margin-top:17px}.studio-promo{background:#e7dfd1;padding:60px 0}.studio-promo-inner{display:flex;align-items:center;justify-content:space-between;gap:28px}.studio-promo h2{margin:10px 0;font:clamp(30px,4vw,46px)/1.12 Georgia,serif}.studio-promo p:not(.eyebrow){max-width:570px;color:#655d53}.studio-promo .button{flex-shrink:0}
@media(max-width:950px){.studio-preview{grid-template-columns:1fr}.gallery-grid{grid-template-columns:1fr 1fr}.studio-promo-inner{flex-direction:column;align-items:flex-start}}@media(max-width:650px){.studio-input-row{flex-direction:column}.studio-reset{align-self:flex-start}.gallery-grid{grid-template-columns:1fr}.preview-nav{padding:16px}.preview-nav span{font-size:7px}.preview-hero{min-height:310px;padding:26px 18px}.preview-bottom{flex-direction:column}.studio-tabs{gap:7px}.studio-tab{font-size:12px;padding:10px 13px}}

/* V8 footer identity and direct contact details */
.footer-brand-block{min-width:0}.footer-logo-link{display:inline-flex;align-items:center;justify-content:flex-start;background:#f5f1e8;border-radius:12px;padding:10px 15px;margin-bottom:19px;max-width:275px}.footer-logo{display:block;width:235px;max-width:100%;height:auto;max-height:90px;object-fit:contain}.footer-brand-block .footer-name{display:block;margin-bottom:12px}.footer-contact{display:flex;flex-direction:column;gap:9px;margin-top:20px}.footer-layout .footer-contact a{display:block;color:#e6d0ac;text-decoration:none;overflow-wrap:anywhere;margin:0}.footer-layout .footer-contact a:hover{color:#fff;text-decoration:underline}@media(max-width:640px){.footer-logo-link{max-width:245px}.footer-logo{width:205px}}

/* V9 horizontal signature identity: generous, responsive logo in navigation and footer */
.site-header{background:#f5f1e8;padding:14px 0}
.nav-shell{width:min(1400px,calc(100% - 28px));min-height:122px;padding:13px 24px;gap:20px}
.nav-shell .brand{width:410px;max-width:410px;min-width:0;flex:0 1 410px;display:flex;align-items:center;background:#000;border-radius:10px;padding:7px 10px}
.nav-shell .brand img{width:100%;height:auto;max-height:112px;object-fit:contain;object-position:center;display:block}
.nav-shell nav{gap:14px}
.footer-logo-link{background:#000;max-width:480px;width:100%;padding:9px 12px;border-radius:12px;margin-bottom:16px}
.footer-logo{width:100%;max-height:none;height:auto;object-fit:contain}
.footer-layout{grid-template-columns:minmax(0,2.1fr) minmax(150px,1fr) minmax(150px,1fr);gap:45px}
@media(max-width:1230px){.nav-shell .brand{width:315px;max-width:315px;flex-basis:315px}.nav-shell nav{gap:10px}.nav-shell nav a{font-size:.72rem}}
@media(max-width:990px){.nav-shell{min-height:100px}.nav-shell .brand{width:370px;max-width:370px;flex-basis:370px}.menu-toggle{display:flex;width:42px;height:42px;flex-direction:column;align-items:center;justify-content:center;gap:5px;border:0;background:transparent;cursor:pointer;flex-shrink:0}.menu-toggle span{display:block;width:23px;height:2px;background:#222;border-radius:2px}.nav-shell nav{display:none;position:absolute;z-index:30;top:calc(100% + 8px);left:0;right:0;background:white;box-shadow:0 14px 32px #0002;border-radius:18px;padding:14px 20px;flex-direction:column;align-items:stretch;gap:0}.nav-shell nav.open{display:flex}.nav-shell nav a{padding:11px 4px;font-size:.96rem}}
@media(max-width:700px){.footer-layout{grid-template-columns:1fr;gap:28px}.footer-logo-link{max-width:440px}}
@media(max-width:640px){.nav-shell{min-height:83px;padding:10px 12px}.nav-shell .brand{width:min(72vw,330px);max-width:min(72vw,330px);flex:0 1 auto;padding:5px 6px}.nav-shell .brand img{max-height:82px}.footer-logo-link{max-width:100%}}
@media(max-width:390px){.nav-shell .brand{width:70vw;max-width:70vw}}

/* V10: repaired footer structure, clean transparent logo, consistent spacing */
.site-header{background:#f5f1e8}
.nav-shell{min-height:112px;gap:24px}
.nav-shell .brand{background:#171717;border-radius:12px;padding:12px 15px;width:395px;max-width:395px;flex:0 1 395px;min-height:86px}
.nav-shell .brand img{width:100%;height:auto;max-height:94px;object-fit:contain}
.site-footer{background:#171717;color:#eee;padding:76px 0 27px}
.site-footer .container{width:min(1160px,calc(100% - 48px));margin-inline:auto}
.site-footer .footer-layout{display:grid;grid-template-columns:minmax(0,1.65fr) minmax(160px,.75fr) minmax(160px,.75fr);gap:clamp(28px,4vw,70px);align-items:start}
.site-footer .footer-brand-block{min-width:0}
.site-footer .footer-logo-link{display:block;width:min(100%,440px);max-width:440px;background:transparent;border:0;padding:0;margin:0 0 24px;border-radius:0}
.site-footer .footer-logo{display:block;width:100%;height:auto;max-height:none;object-fit:contain}
.site-footer .footer-description{max-width:460px;color:#d3d0ca;font-size:.95rem;line-height:1.8;margin:0 0 14px}
.site-footer .footer-location{max-width:440px;color:#a9a59f;font-size:.87rem;line-height:1.75;margin:0}
.site-footer .footer-contact{display:flex;flex-direction:column;align-items:flex-start;gap:9px;margin:22px 0 0}
.site-footer .footer-contact a{display:inline-block;color:#dfc49a!important;font-size:.9rem;line-height:1.5;text-decoration:none!important;overflow-wrap:anywhere;margin:0!important}
.site-footer .footer-contact a:hover{text-decoration:underline!important;color:#fff!important}
.site-footer .footer-links{display:flex;flex-direction:column;align-items:flex-start;gap:12px;padding-top:13px;min-width:0}
.site-footer .footer-links h3{font-size:.88rem;letter-spacing:.15em;text-transform:uppercase;color:#d5b781;margin:0 0 10px;font-weight:700}
.site-footer .footer-links a{display:block;color:#c9c5be!important;text-decoration:none!important;font-size:.9rem;line-height:1.5;margin:0!important}
.site-footer .footer-links a:hover{color:#e6c68e!important}
.site-footer .footer-bottom{border-top:1px solid #37332d;margin-top:55px;padding-top:23px;display:flex;gap:20px;justify-content:space-between;flex-wrap:wrap;color:#a8a39b;font-size:.78rem}
@media(max-width:1120px){.nav-shell .brand{width:300px;max-width:300px;flex-basis:300px}.nav-shell nav{gap:11px}.nav-shell nav a{font-size:.72rem}}
@media(max-width:990px){.nav-shell .brand{width:360px;max-width:360px;flex-basis:360px}}
@media(max-width:760px){.site-footer .footer-layout{grid-template-columns:repeat(2,minmax(0,1fr));gap:38px 28px}.site-footer .footer-brand-block{grid-column:1/-1}.site-footer .footer-logo-link{width:min(100%,440px)}}
@media(max-width:640px){.nav-shell .brand{width:min(72vw,320px);max-width:min(72vw,320px);flex:0 1 auto;min-height:65px;padding:8px 10px}.nav-shell .brand img{max-height:65px}.site-footer{padding:54px 0 25px}.site-footer .container{width:calc(100% - 38px)}.site-footer .footer-layout{grid-template-columns:repeat(2,minmax(0,1fr));gap:35px 20px}.site-footer .footer-brand-block{grid-column:1/-1}.site-footer .footer-links{padding-top:0}.site-footer .footer-bottom{margin-top:38px}}
@media(max-width:380px){.site-footer .footer-layout{grid-template-columns:1fr}.site-footer .footer-brand-block{grid-column:auto}}

/* V11 — integrated, borderless brand identity (no black badge or white pill) */
.site-header{background:#171717;padding:9px 0;border-bottom:1px solid rgba(176,141,87,.22)}
.site-header .nav-shell{background:transparent!important;box-shadow:none!important;border-radius:0!important;width:min(1290px,calc(100% - 48px));padding:5px 0;min-height:96px;gap:24px}
.site-header .nav-shell .brand{background:transparent!important;border:0!important;border-radius:0!important;box-shadow:none!important;padding:0!important;min-height:0!important;width:405px;max-width:405px;flex:0 1 405px}
.site-header .nav-shell .brand img{display:block;width:100%;height:auto;max-height:113px;object-fit:contain;object-position:left center}
.site-header .nav-shell nav a{color:#eee9e0;font-weight:600}
.site-header .nav-shell nav a:hover,.site-header .nav-shell nav a[aria-current=page]{color:#d8b476}
.site-header .menu-toggle span{background:#e9d6b6}
@media(max-width:1230px){.site-header .nav-shell .brand{width:315px;max-width:315px;flex-basis:315px}}
@media(max-width:990px){.site-header .nav-shell .brand{width:370px;max-width:370px;flex-basis:370px}.site-header .nav-shell nav{background:#242424;box-shadow:0 18px 40px #0006}.site-header .nav-shell nav a{color:#f2ece2}}
@media(max-width:640px){.site-header .nav-shell{width:calc(100% - 36px);min-height:73px;padding:3px 0}.site-header .nav-shell .brand{width:min(72vw,330px);max-width:min(72vw,330px);flex:0 1 auto}.site-header .nav-shell .brand img{max-height:82px}}
@media(max-width:390px){.site-header .nav-shell .brand{width:70vw;max-width:70vw}}

/* V13: preserve approved V11 dark cinematic design; readability refinements only */
body{color:#292724}
.section.white,.section.cream{color:#292724}
.section.white h1,.section.white h2,.section.white h3,.section.cream h1,.section.cream h2,.section.cream h3{color:#292724}
.section.white p,.section.cream p{color:#4b4843}
.cinematic-hero h1,.cinematic-hero .hero-lead,.cinematic-hero .eyebrow{color:#fffaf2}
.showcase-band h2,.showcase-band p,.cta-section h2,.cta-section p{color:#f7f2e9}
.site-header .nav-shell nav a{color:#f2ece2}
.site-footer .footer-links a{color:#ded8ce!important}
.site-footer .footer-description{color:#e3ded5}
.site-footer .footer-location{color:#c8c1b6}
.site-footer .footer-bottom{color:#c8c1b6}
.site-header .nav-shell nav a:focus-visible,.site-footer a:focus-visible,.button:focus-visible{outline:2px solid #d8b476;outline-offset:4px}
@media(max-width:640px){.site-footer .footer-links a{line-height:1.65}}


/* V14 — Warm + cinematic contrast system; desktop navigation enlarged */
:root{--cream:#f5f1e8;--ink:#272622;--muted:#514d46;--gold:#b08d57;--line:#dfd6c9}
body{color:#292722;background:#f5f1e8}
/* Navigation: larger labels with breathing room, without crowding the brand */
.site-header .nav-shell{width:min(1450px,calc(100% - 56px));gap:25px;min-height:112px}
.site-header .nav-shell .brand{width:355px;max-width:355px;flex:0 0 355px}
.site-header .nav-shell nav{gap:clamp(12px,1.35vw,24px);flex-wrap:nowrap}
.site-header .nav-shell nav a{font-size:clamp(.93rem,1.02vw,1.03rem);line-height:1.35;letter-spacing:.005em;font-weight:600;padding:14px 0;color:#f5f0e7}
.site-header .nav-shell nav a:hover,.site-header .nav-shell nav a[aria-current=page]{color:#e7c58d}
/* All light surfaces use dark text; muted copy remains comfortably legible */
.section.white,.section.cream,.listing-visual{color:#292722}
.section.white{background:#fffdf9}
.section.cream{background:#f5f1e8}
.section.white :is(h1,h2,h3),.section.cream :is(h1,h2,h3),.listing-visual :is(h1,h2,h3){color:#292722}
.section.white :is(p,li),.section.cream :is(p,li),.listing-visual :is(p,li){color:#504b43}
.section.white .eyebrow,.section.cream .eyebrow,.listing-visual .eyebrow{color:#87612e}
.card,.portfolio-tile,.concept-panel,.price-panel,.contact-form,.check-item,.animated-checks>div{color:#292722}
.card :is(h2,h3),.portfolio-tile :is(h2,h3),.concept-panel :is(h2,h3),.price-panel :is(h2,h3),.contact-form :is(h2,h3){color:#292722}
.card p,.portfolio-tile p,.concept-meta p,.price-panel p,.contact-form p{color:#504b43}
/* Dark cinematic sections: warm off-white for headings and copy */
.cinematic-hero,.showcase-band,.dark-workflow,.cta-section,.site-footer{color:#f6f0e6}
.cinematic-hero :is(h1,h2,h3),.showcase-band :is(h1,h2,h3),.dark-workflow :is(h1,h2,h3),.cta-section :is(h1,h2,h3){color:#fff8ec}
.cinematic-hero p,.showcase-band p,.dark-workflow p,.cta-section p{color:#e7dfd1}
.cinematic-hero .eyebrow,.showcase-band .eyebrow,.dark-workflow .eyebrow,.cta-section .eyebrow{color:#e0bc83}
.site-footer .footer-description,.site-footer .footer-links a{color:#e5ded3!important}
.site-footer .footer-location,.site-footer .footer-bottom{color:#cfc6b8}
/* Gold on warm light should be deeper for sufficient visibility */
.section.white .text-link,.section.cream .text-link,.listing-visual .text-link{color:#785522}
/* Navigation switches to a readable dropdown before the links get cramped */
@media(max-width:1320px){
 .site-header .nav-shell{min-height:96px}
 .site-header .nav-shell .brand{width:345px;max-width:345px;flex:0 1 345px}
 .site-header .menu-toggle{display:flex;width:48px;height:48px;flex-direction:column;align-items:center;justify-content:center;gap:6px;border:1px solid #b08d5760;border-radius:10px;background:#ffffff0a;cursor:pointer;flex-shrink:0}
 .site-header .menu-toggle span{display:block;width:24px;height:2px;background:#f3e9d9;border-radius:2px}
 .site-header .nav-shell nav{display:none;position:absolute;z-index:60;top:calc(100% + 10px);left:0;right:0;background:#232321;border:1px solid #b08d5744;box-shadow:0 20px 45px #0006;border-radius:14px;padding:15px 22px;flex-direction:column;align-items:stretch;gap:0}
 .site-header .nav-shell nav.open{display:flex}
 .site-header .nav-shell nav a{font-size:1.06rem;padding:13px 7px;border-bottom:1px solid #ffffff16;white-space:normal}
 .site-header .nav-shell nav a:last-child{border-bottom:0}
}
@media(max-width:640px){
 .site-header .nav-shell{width:calc(100% - 36px);min-height:80px;gap:12px}
 .site-header .nav-shell .brand{width:min(72vw,310px);max-width:min(72vw,310px);flex:0 1 auto}
 .site-header .nav-shell nav a{font-size:1.03rem}
}


/* V15 — purposeful spacing: more content visible without sacrificing luxury */
@media(min-width:901px){
  .cinematic-hero{min-height:0;padding:0}
  .cinematic-hero .hero-content{padding-top:76px;padding-bottom:78px}
  .cinematic-hero h1{font-size:clamp(3rem,4.8vw,4.75rem);max-width:740px;line-height:1.08}
  .hero-stamp{bottom:17px}
  .hero:not(.cinematic-hero){padding-top:62px;padding-bottom:68px}
  .hero-inner{padding-top:35px;padding-bottom:42px}
  .section{padding-top:62px;padding-bottom:62px}
  .section-heading{margin-bottom:30px}
  .section-heading h2{margin-bottom:13px}
  .cta-section{padding-top:65px;padding-bottom:65px}
  .showcase-band,.dark-workflow{padding-top:64px;padding-bottom:64px}
  .card{padding:28px}
  .card-grid{gap:20px}
  .site-footer{padding-top:58px}
}
@media(min-width:641px) and (max-width:900px){
  .cinematic-hero{min-height:0;padding:0}
  .cinematic-hero .hero-content{padding-top:70px;padding-bottom:75px}
  .hero:not(.cinematic-hero){padding-top:55px;padding-bottom:60px}
  .section{padding-top:60px;padding-bottom:60px}
  .section-heading{margin-bottom:28px}
  .cta-section{padding-top:60px;padding-bottom:60px}
}
@media(max-width:640px){
  .cinematic-hero{min-height:0;padding:0}
  .cinematic-hero .hero-content{padding-top:46px;padding-bottom:56px}
  .cinematic-hero h1{font-size:clamp(2.25rem,9vw,3.25rem);line-height:1.11}
  .cinematic-hero .hero-lead{margin-bottom:22px}
  .hero:not(.cinematic-hero),.hero-inner{padding-top:42px;padding-bottom:46px}
  .section{padding-top:45px;padding-bottom:45px}
  .section-heading{margin-bottom:24px}
  .section-heading h2{margin-bottom:12px}
  .cta-section{padding-top:48px;padding-bottom:48px}
  .card{padding:24px}
  .site-footer{padding-top:45px}
  .hero-stamp{display:none}
}
