.hero{position:relative;height:100vh;height:100dvh;min-height:720px;overflow:hidden;color:var(--cream);display:flex;flex-direction:column;background:var(--navy)}.carousel{position:absolute;top:0;right:0;bottom:0;left:0;z-index:0;background:var(--navy)}.slide{position:absolute;top:0;right:0;bottom:0;left:0;background-size:cover;background-position:center;opacity:0;z-index:1;transform:scale(1);transition:opacity 2s ease-in-out,transform 9s ease-out;will-change:opacity,transform;transform-origin:center}.slide.active{opacity:1;z-index:2;transform:scale(1.12);transition:opacity 2s ease-in-out,transform 9s linear}.scrim{position:absolute;top:0;right:0;bottom:0;left:0;z-index:1;background:radial-gradient(ellipse 55% 55% at 0% 0%,rgba(11,27,43,.92) 0%,rgba(11,27,43,.65) 50%,transparent 100%),linear-gradient(180deg,#0b1b2bcc,#0b1b2b59 45%,#0b1b2bf2),linear-gradient(90deg,rgba(11,27,43,.7) 0%,transparent 60%)}.hero-nav{position:absolute;top:0;left:0;right:0;z-index:100;display:flex;justify-content:space-between;align-items:center;padding:24px 48px;color:var(--cream);transition:transform .35s cubic-bezier(.16,1,.3,1),background .3s ease,padding .3s ease}.hero-nav.sticky{position:fixed;top:0;left:0;right:0;padding:16px 48px;background:#0b1b2bf2;backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);border-bottom:1px solid rgba(190,142,59,.25);box-shadow:0 4px 24px #00000059;transform:translateY(0)}.hero-nav.sticky.hidden{transform:translateY(-100%)}.hero-nav .logo{text-decoration:none;display:flex;align-items:center;filter:drop-shadow(0 2px 10px rgba(0,0,0,.75))}.hero-nav .nav-links{position:absolute;left:50%;transform:translate(-50%);display:flex;align-items:center;gap:36px}.hero-nav .nav-links a{color:var(--cream);text-decoration:none;font-size:13px;opacity:.9;transition:opacity .2s,color .2s;letter-spacing:.08em;text-transform:uppercase;font-weight:500}.hero-nav .nav-links a:hover{opacity:1;color:var(--accent-light)}.hero-nav .phone{margin-left:auto;font-size:13px;color:var(--cream);text-decoration:none;padding:10px 24px;border:1px solid var(--accent);border-radius:999px;-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);background:#be8e3b1f;transition:all .2s;font-weight:500;letter-spacing:.04em;white-space:nowrap}.hero-nav .phone:hover{background:var(--accent);color:#fff;border-color:var(--accent);box-shadow:0 4px 14px #be8e3b66}.mobile-menu-btn{display:none;background:transparent;border:none;color:var(--cream);cursor:pointer;padding:6px}.mobile-drawer{position:fixed;top:0;right:0;bottom:0;left:0;background:var(--navy);z-index:1000;display:flex;flex-direction:column;padding:32px 24px;transform:translate(100%);transition:transform .3s cubic-bezier(.16,1,.3,1)}.mobile-drawer.open{transform:translate(0)}.mobile-drawer-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:48px}.mobile-drawer-links{display:flex;flex-direction:column;gap:28px}.mobile-drawer-links a{font-size:24px;color:var(--cream);text-decoration:none;font-weight:300;transition:color .2s}.mobile-drawer-links a:hover{color:var(--accent-light)}.hero-content{position:relative;z-index:2;flex:1;display:flex;align-items:center;padding:100px 48px 80px;max-width:1240px;margin:0 auto;width:100%}.hero-inner{max-width:860px;text-align:left}.hero-eyebrow{font-size:11px;letter-spacing:.25em;text-transform:uppercase;color:var(--accent-light);margin-bottom:16px;font-weight:600;display:flex;align-items:center;gap:12px}.hero-eyebrow:before{content:"";width:28px;height:1px;background:var(--accent-light)}h1.cover-title{font-size:clamp(38px,5.2vw,76px);line-height:1.05;letter-spacing:-.025em;font-weight:300;margin-bottom:20px;color:var(--cream);text-align:left}h1.cover-title em{font-style:italic;font-weight:300;color:var(--accent-light)}h1.cover-title strong{font-weight:500}.hero-lede{font-size:17px;line-height:1.5;max-width:620px;color:#fdfbf7e6;margin-bottom:28px;font-weight:300;text-align:left}.editorial-cta{display:inline-flex;align-items:center;gap:16px;font-size:17px;color:var(--cream);text-decoration:none;padding-bottom:6px;border:none;border-bottom:1px solid var(--accent);background:transparent;cursor:pointer;letter-spacing:.02em;transition:all .3s;font-weight:500}.editorial-cta:hover{border-color:var(--accent-light);color:var(--accent-light)}.editorial-cta .arr{font-size:20px;color:var(--accent-light);transition:transform .3s}.editorial-cta:hover .arr{transform:translate(6px)}.cta-secondary{display:inline-block;margin-left:32px;font-size:14px;color:#fdfbf7b3;text-decoration:none;transition:color .2s}.cta-secondary:hover{color:var(--cream)}.carousel-dots{position:absolute;bottom:32px;right:48px;z-index:3;display:flex;gap:8px}.dot{width:40px;height:3px;background:#ffffff40;border:none;cursor:pointer;padding:0;transition:background .3s}.dot.active{background:var(--accent)}.scroll-hint{position:absolute;bottom:32px;left:48px;z-index:3;color:#fdfbf7a6;font-size:11px;letter-spacing:.25em;text-transform:uppercase;display:flex;align-items:center;gap:12px}.scroll-hint:after{content:"";width:1px;height:30px;background:var(--accent);animation:scroll-pulse 2s ease-in-out infinite}@keyframes scroll-pulse{0%,to{opacity:.3;transform:scaleY(.5)}50%{opacity:1;transform:scaleY(1)}}.intro-band{background:var(--paper);padding:80px 0;border-bottom:1px solid var(--line)}.intro-inner{display:grid;grid-template-columns:1fr 2fr;gap:80px;align-items:start}.intro-label-col{display:flex;flex-direction:column;gap:16px}.intro-band .label{font-size:11px;letter-spacing:.25em;text-transform:uppercase;color:var(--accent);font-weight:600}.intro-image-container{width:100%;border-radius:6px;overflow:hidden;box-shadow:0 10px 30px #0b1b2b1f;border:1px solid rgba(190,142,59,.25);margin-top:4px}.intro-shop-img{width:100%;height:230px;object-fit:cover;display:block;transition:transform .5s ease}.intro-image-container:hover .intro-shop-img{transform:scale(1.05)}.intro-band .quote{font-size:clamp(28px,3.5vw,44px);line-height:1.2;letter-spacing:-.02em;font-weight:300;color:var(--ink)}.intro-band .quote em{color:var(--accent);font-style:normal;font-weight:400}.intro-band .attribution{margin-top:24px;font-size:13px;color:var(--muted);display:flex;align-items:center;gap:12px}.intro-band .attribution:before{content:"—";color:var(--accent);font-weight:700}.gallery-section{padding:100px 0 40px}.gallery-head{display:flex;justify-content:space-between;align-items:flex-end;padding:0 48px;margin-bottom:60px;max-width:1240px;margin-left:auto;margin-right:auto}.gallery-head .title{font-size:40px;font-weight:400;letter-spacing:-.025em;line-height:1;color:var(--navy)}.gallery-head .title span{color:var(--muted);font-weight:300;display:block;margin-top:8px;font-size:18px}.gallery-head .counter{font-size:13px;color:var(--muted);letter-spacing:.1em;text-transform:uppercase}.gallery-head .counter .curr{color:var(--accent);font-weight:600}.strip-wrap{overflow-x:auto;overflow-y:hidden;padding-bottom:20px;cursor:grab;user-select:none;-webkit-user-select:none;scrollbar-width:none;-ms-overflow-style:none;mask-image:linear-gradient(90deg,transparent 0,#000 6%,#000 94%,transparent 100%);-webkit-mask-image:linear-gradient(90deg,transparent 0,#000 6%,#000 94%,transparent 100%);touch-action:pan-x pan-y}.strip-wrap::-webkit-scrollbar{display:none}.strip-wrap.dragging{cursor:grabbing}.strip-wrap.dragging .project-card{pointer-events:none}.strip{display:flex;gap:32px;padding:0 48px;width:max-content;will-change:scroll-position}.project-card,.project-card *{-webkit-user-drag:none}.project-card{width:480px;flex-shrink:0;border-top:2px solid var(--navy);padding-top:24px;display:flex;flex-direction:column;min-height:380px;transition:transform .3s ease}.project-card:hover{transform:translateY(-4px)}.project-card .index{font-size:12px;letter-spacing:.2em;text-transform:uppercase;color:var(--accent);margin-bottom:12px;display:flex;justify-content:space-between;font-weight:600}.project-card .index .yr{color:var(--muted);font-weight:400}.project-card h3{font-size:48px;font-weight:300;letter-spacing:-.035em;line-height:.95;margin-bottom:20px;color:var(--navy)}.project-card .meta{font-size:12px;letter-spacing:.15em;text-transform:uppercase;color:var(--muted);margin-bottom:20px;padding-bottom:20px;border-bottom:1px dashed var(--line)}.project-card p{font-size:15px;color:var(--muted);line-height:1.55;margin-bottom:24px;flex:1}.project-card .card-cta{font-size:13px;color:var(--navy);text-decoration:none;padding-bottom:4px;border:none;border-bottom:1px solid var(--accent);background:transparent;align-self:flex-start;letter-spacing:.02em;cursor:pointer;font-weight:500;transition:color .2s,border-color .2s}.project-card .card-cta:hover{color:var(--accent);border-color:var(--accent)}.services-spread{padding:100px 0;background:var(--paper);border-top:1px solid var(--line);border-bottom:1px solid var(--line)}.spread-inner{display:grid;grid-template-columns:1fr 1fr;gap:80px}.spread-left h2{font-size:12px;letter-spacing:.25em;text-transform:uppercase;color:var(--accent);margin-bottom:32px;font-weight:600}.spread-left .prose{font-size:18px;line-height:1.6;color:var(--ink)}.spread-left .prose p{margin-bottom:16px}.spread-left .prose p:first-child:first-letter{font-size:76px;float:left;line-height:.85;padding:6px 12px 0 0;font-weight:300;color:var(--accent)}.service-line{padding:28px 20px;border-bottom:1px solid var(--line);display:flex;align-items:baseline;gap:28px;cursor:pointer;border-left:4px solid transparent;transition:all .3s cubic-bezier(.16,1,.3,1);border-radius:0 6px 6px 0;position:relative}.service-line:first-child{border-top:2px solid var(--navy)}.service-line:hover{background:#fff;border-left-color:var(--accent);padding-left:32px;box-shadow:0 12px 32px #0b1b2b14}.service-line .svc-num{font-size:13px;color:var(--accent);letter-spacing:.15em;min-width:40px;font-weight:600;transition:transform .3s ease,color .3s ease}.service-line:hover .svc-num{transform:scale(1.25);color:var(--accent-light)}.service-line .body{flex:1}.service-line h4{font-size:22px;font-weight:400;letter-spacing:-.015em;margin-bottom:6px;color:var(--navy);display:flex;align-items:center;justify-content:space-between;transition:color .3s ease}.service-line:hover h4{color:var(--accent)}.service-line .svc-arrow{font-size:22px;opacity:0;transform:translate(-12px);transition:all .3s cubic-bezier(.16,1,.3,1);color:var(--accent)}.service-line:hover .svc-arrow{opacity:1;transform:translate(0)}.service-line p{color:var(--muted);font-size:14px;line-height:1.55;transition:color .3s ease}.service-line:hover p{color:var(--navy)}.rates-section{padding:120px 0}.rates-head{text-align:center;margin-bottom:80px}.rates-head .label{font-size:11px;letter-spacing:.3em;text-transform:uppercase;color:var(--accent);margin-bottom:20px;font-weight:600}.rates-head h2{font-size:clamp(40px,5vw,60px);font-weight:300;letter-spacing:-.03em;line-height:1.05;max-width:720px;margin:0 auto;color:var(--navy)}.rates-head h2 em{color:var(--accent);font-style:normal;font-weight:400}.rates-grid{display:grid;grid-template-columns:1fr 1fr;gap:60px;max-width:900px;margin:0 auto;align-items:stretch}.rate-col{display:flex;flex-direction:column;padding:32px 0;border-top:2px solid var(--navy);height:100%}.rate-col .top{display:flex;justify-content:space-between;align-items:flex-start;min-height:72px;margin-bottom:8px}.rate-col .name{font-size:24px;font-weight:400;letter-spacing:-.02em;color:var(--navy);line-height:1.25}.rate-col .badge{font-size:10px;letter-spacing:.14em;text-transform:uppercase;color:var(--accent);padding:4px 10px;border:1px solid var(--accent);border-radius:999px;font-weight:600;white-space:nowrap;flex-shrink:0;margin-left:12px;line-height:1;background:#be8e3b14}.rate-col .price{font-size:44px;font-weight:300;letter-spacing:-.03em;line-height:1;color:var(--navy);margin-bottom:20px}.rate-col .price .sub{font-size:14px;color:var(--muted);margin-left:6px}.rate-col ul{list-style:none;margin-top:0;flex:1}.rate-col li{padding:10px 0;font-size:14px;color:var(--ink);display:flex;align-items:baseline;gap:12px;border-bottom:1px dashed var(--line)}.rate-col li:before{content:"·";color:var(--accent);font-size:24px;line-height:.5;font-weight:700}.rate-col .col-cta{align-self:flex-start;margin-top:24px;padding:12px 0;color:var(--navy);text-decoration:none;font-size:14px;border:none;border-bottom:1px solid var(--accent);background:transparent;display:inline-flex;align-items:center;gap:8px;letter-spacing:.02em;cursor:pointer;font-weight:500;transition:color .2s,border-color .2s}.rate-col .col-cta:hover{color:var(--accent);border-color:var(--accent)}.closing{padding:140px 0 100px;text-align:center;background:var(--paper);border-top:1px solid var(--line)}.closing .mark,.closing-logo-wrap{margin-bottom:24px;display:flex;justify-content:center;align-items:center}.closing h2{font-size:clamp(40px,5.5vw,68px);font-weight:300;letter-spacing:-.03em;line-height:1.05;margin-bottom:24px;max-width:720px;margin-left:auto;margin-right:auto;color:var(--navy)}.closing h2 em{color:var(--accent);font-style:normal;font-weight:400}.closing .subline{color:var(--muted);font-size:16px;max-width:480px;margin:0 auto 48px}.closing .actions{display:flex;gap:32px;justify-content:center;align-items:center;flex-wrap:wrap}.closing .primary{font-size:16px;color:var(--navy);text-decoration:none;padding-bottom:8px;border:none;border-bottom:1px solid var(--accent);background:transparent;display:inline-flex;align-items:center;gap:10px;letter-spacing:.02em;cursor:pointer;font-weight:500;transition:color .2s,border-color .2s}.closing .primary:hover{color:var(--accent);border-color:var(--accent)}.closing .divider{color:var(--line)}footer{padding:48px 48px 40px;border-top:1px solid var(--line);display:flex;flex-direction:column;align-items:center;justify-content:center;gap:20px;text-align:center;font-size:13px;color:var(--muted);max-width:1240px;margin:0 auto}.footer-content{display:flex;flex-direction:column;align-items:center;gap:12px}.footer-contact{display:flex;align-items:center;justify-content:center;flex-wrap:wrap;gap:8px 16px;color:var(--muted)}.footer-contact a{color:var(--navy);text-decoration:none;font-weight:500;transition:color .2s}.footer-contact a:hover,.footer-contact .dot{color:var(--accent)}.footer-copy{font-size:12px;color:var(--muted);opacity:.85}.modal-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;background:var(--overlay);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);z-index:2000;display:flex;align-items:center;justify-content:center;padding:24px;animation:fadeIn .25s ease-out}.modal-content{background:var(--bg);border:1px solid var(--line);border-radius:4px;width:100%;max-width:680px;max-height:90vh;overflow-y:auto;position:relative;box-shadow:0 24px 48px #00000059;animation:slideUp .3s cubic-bezier(.16,1,.3,1)}.modal-close-btn{position:absolute;top:24px;right:24px;background:transparent;border:none;color:var(--muted);cursor:pointer;padding:4px;transition:color .2s}.modal-close-btn:hover{color:var(--navy)}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}@keyframes slideUp{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}.estimate-form{padding:40px}.estimate-form h2{font-size:32px;font-weight:300;letter-spacing:-.02em;margin-bottom:8px;color:var(--navy)}.estimate-form .subtitle{color:var(--muted);font-size:14px;margin-bottom:32px}.form-group{margin-bottom:20px}.form-group label{display:block;font-size:12px;letter-spacing:.1em;text-transform:uppercase;color:var(--navy);margin-bottom:8px;font-weight:600}.form-group input,.form-group select,.form-group textarea{width:100%;padding:12px 16px;border:1px solid var(--line);background:var(--paper);color:var(--ink);font-family:inherit;font-size:14px;border-radius:2px;transition:border-color .2s,background .2s}.form-group input:focus,.form-group select:focus,.form-group textarea:focus{outline:none;border-color:var(--accent);background:#fff}.form-row{display:grid;grid-template-columns:1fr 1fr;gap:16px}.submit-btn{width:100%;padding:16px;background:var(--navy);color:#fff;border:1px solid var(--accent);font-size:14px;letter-spacing:.1em;text-transform:uppercase;font-weight:600;cursor:pointer;margin-top:12px;transition:background .2s,border-color .2s}.submit-btn:hover{background:var(--accent);color:#fff;border-color:var(--accent)}.success-state{padding:60px 40px;text-align:center}.success-state .check-icon{width:56px;height:56px;border-radius:50%;background:#be8e3b26;color:var(--accent);display:flex;align-items:center;justify-content:center;margin:0 auto 24px}.project-modal-body{padding:0}.project-modal-image{width:100%;height:320px;object-fit:cover}.project-modal-details{padding:40px}.project-modal-details .tag{font-size:11px;letter-spacing:.2em;text-transform:uppercase;color:var(--accent);font-weight:600;margin-bottom:8px}.project-modal-details h2{font-size:36px;font-weight:300;letter-spacing:-.03em;margin-bottom:12px;color:var(--navy)}.project-modal-details .meta-bar{font-size:13px;color:var(--muted);margin-bottom:24px;padding-bottom:16px;border-bottom:1px solid var(--line)}.project-modal-details .description{font-size:16px;color:var(--ink);line-height:1.6;margin-bottom:28px}.project-modal-details h4{font-size:12px;letter-spacing:.15em;text-transform:uppercase;color:var(--navy);margin-bottom:12px;font-weight:600}.project-modal-details .highlights-list{list-style:none;margin-bottom:32px}.project-modal-details .highlights-list li{padding:8px 0;font-size:14px;display:flex;align-items:baseline;gap:12px;border-bottom:1px dashed var(--line)}.project-modal-details .highlights-list li:before{content:"✓";color:var(--accent);font-weight:700}.project-modal-details .quote-box{background:var(--paper);padding:20px 24px;border-left:3px solid var(--accent);font-style:italic;font-size:14px;color:var(--navy);margin-bottom:32px}@media (max-width: 900px){.hero-nav,.hero-content,.gallery-head,footer{padding-left:20px;padding-right:20px}.container{padding-left:20px;padding-right:20px}.hero-nav .nav-links{display:none}.hero-nav .phone{position:absolute;left:50%;transform:translate(-50%);display:inline-flex;font-size:12px;padding:7px 16px;white-space:nowrap;z-index:10}.mobile-menu-btn{display:block;margin-left:0}.hero{min-height:540px}.hero-content{padding:80px 20px 48px}h1.cover-title{font-size:40px;margin-bottom:20px}.hero-lede{font-size:16px;margin-bottom:24px}.carousel-dots{right:20px;bottom:20px}.scroll-hint{left:20px;bottom:20px}.intro-band{padding:44px 0}.intro-inner{grid-template-columns:1fr;gap:20px}.gallery-section{padding:48px 0 20px}.gallery-head{margin-bottom:28px}.gallery-head .title{font-size:32px}.services-spread{padding:48px 0}.spread-inner{grid-template-columns:1fr;gap:32px}.spread-left h2{margin-bottom:16px}.service-line{padding:20px 0}.rates-section{padding:48px 0}.rates-head{margin-bottom:32px}.rates-grid{grid-template-columns:1fr;gap:24px}.closing{padding:56px 0 40px}.closing h2{margin-bottom:16px}.closing .subline{margin-bottom:24px}.closing .actions{flex-direction:column;align-items:center;justify-content:center;gap:20px;width:100%}.closing .divider{display:none}.closing .primary{justify-content:center;text-align:center;margin:0 auto}.rate-col .col-cta{align-self:center}.project-card{width:290px;min-height:310px}.strip{padding:0 20px;gap:16px}.cta-secondary{display:block;margin-left:0;margin-top:16px;text-align:center}.editorial-cta{align-self:center;justify-content:center;text-align:center}.form-row{grid-template-columns:1fr}.modal-body,.project-modal-details{padding:24px 20px}footer{padding:36px 20px 32px;gap:16px}.footer-contact{flex-direction:column;gap:8px}.footer-contact .dot{display:none}}@media (max-width: 600px){.hero-nav{padding-top:16px;padding-bottom:16px}h1.cover-title{font-size:32px;margin-bottom:16px}.hero-eyebrow{margin-bottom:16px}.rates-head h2,.closing h2{font-size:30px}.rate-col{padding:20px 0}.rate-col .top{min-height:auto;margin-bottom:12px}.intro-band .quote{font-size:26px}}:root{--bg: #fdfbf7;--paper: #f4f0e6;--ink: #0b1b2b;--navy: #0b1b2b;--navy-light: #162a3f;--muted: #56687a;--line: #dcd6c8;--accent: #be8e3b;--accent-light: #d4af37;--cream: #fdfbf7;--overlay: rgba(11, 27, 43, .85)}*{box-sizing:border-box;margin:0;padding:0}html{scroll-behavior:smooth}body{background:var(--bg);color:var(--ink);font-family:Inter,system-ui,-apple-system,sans-serif;font-size:15px;line-height:1.55;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;overflow-x:hidden}.container{max-width:1240px;margin:0 auto;padding:0 48px}@media (max-width: 900px){.container{padding-left:24px;padding-right:24px}}body.modal-open{overflow:hidden}::-webkit-scrollbar{width:10px;height:10px}::-webkit-scrollbar-track{background:var(--bg);border-left:1px solid var(--line)}::-webkit-scrollbar-thumb{background:var(--accent);border-radius:5px;border:2px solid var(--bg);transition:background .2s ease}::-webkit-scrollbar-thumb:hover{background:#9e732b}::-webkit-scrollbar-thumb:active{background:var(--navy)}*{scrollbar-width:thin;scrollbar-color:var(--accent) var(--bg)}
