:root{--red:#bc080d;--ink:#333432;--muted:#72736e;--paper:#f6f5f2}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:100px}body{margin:0;background:white;color:var(--ink);font-family:Arial,Helvetica,sans-serif}a{color:inherit;text-decoration:none}header{height:100px;display:flex;align-items:center;justify-content:space-between;padding:0 6%;border-bottom:1px solid #e7e7e3}header img{width:235px;height:auto;display:block}nav{display:flex;align-items:center;gap:38px;font-size:14px}.nav-cta{border:1px solid #d9d9d5;padding:14px 20px;border-radius:30px}.nav-cta span{margin-left:24px;color:var(--red)}.hero{padding:72px 8% 0;background:var(--paper);position:relative;overflow:hidden}.eyebrow{font-size:11px;font-weight:600;letter-spacing:2px;line-height:1.6}.eyebrow>span{display:inline-block;width:7px;height:7px;border-radius:50%;background:var(--red);margin-right:10px}h1{font-size:clamp(60px,7.8vw,116px);line-height:1.02;font-weight:500;letter-spacing:-6px;margin:40px 0}em{font-family:Georgia,serif;font-weight:400;color:var(--red)}.hero-bottom{display:flex;align-items:center;justify-content:space-between;gap:40px}.hero-bottom p{font-size:17px;line-height:1.7;max-width:460px;color:#666761}.button{display:inline-flex;align-items:center;justify-content:center;gap:30px;padding:20px 26px;background:var(--red);color:white;border-radius:3px;font-size:14px;transition:background .2s,transform .2s}.button:hover{background:#96070b;transform:translateY(-2px)}.hero-foot{margin-top:64px;border-top:1px solid #dcdcd5;padding:24px 0;display:flex;justify-content:space-between;font-size:10px;letter-spacing:1.6px}.hero-foot>span{color:#999a94}.services,.portfolio,.process{padding:100px 8%}.section-top{display:grid;grid-template-columns:1fr 2fr 1fr;gap:30px;align-items:start}h2{font-size:clamp(35px,4vw,58px);line-height:1.08;font-weight:500;letter-spacing:-2px;margin:0}.section-top p{line-height:1.8;color:var(--muted);font-size:14px;margin:5px 0}.service-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:30px;margin-top:65px}.service-grid article{border-top:1px solid #dcdcd7;padding-top:25px}.number{color:var(--red);font-size:13px}h3{font-size:19px;line-height:1.35;font-weight:500;letter-spacing:-.4px;margin:30px 0 12px}article p{font-size:14px;line-height:1.8;color:var(--muted)}.portfolio{background:var(--paper)}.gallery-head{display:flex;justify-content:space-between;align-items:end;gap:30px}.gallery-head h2{margin-top:20px}.gallery-note{font-size:12px;color:var(--muted)}.photo-pending{margin-top:40px;min-height:310px;border:1px solid #deded7;display:flex;flex-direction:column;align-items:center;justify-content:center;background:#eeede7}.frame-mark{font-size:60px;font-family:Georgia,serif;color:#b8b8ae}.photo-pending p{font-size:14px;color:#76766e;margin-bottom:8px}.photo-pending small{font-size:11px;color:#85857d}.process>h2{margin-top:24px}.steps{display:grid;grid-template-columns:repeat(3,1fr);gap:50px;margin-top:60px}.steps article{border-top:1px solid #ddd;padding-top:20px}.steps article>span{font-size:12px;color:var(--red)}.contact{margin:0 3% 40px;background:var(--red);color:white;padding:70px 5.3%}.contact h2{font-size:clamp(44px,5.5vw,76px);margin-top:30px;max-width:900px}.contact em{color:white}.contact-bottom{display:flex;align-items:center;justify-content:space-between;gap:30px;margin-top:35px}.contact p{line-height:1.8;color:#f2cccc;font-size:15px}.white{background:white;color:var(--red)}.white:hover{background:#f1e6e6}.phone{display:inline-block;margin-top:24px;font-size:15px}.phone:hover{text-decoration:underline}footer{padding:20px 6% 50px;display:flex;gap:30px;align-items:center;justify-content:space-between;font-size:11px;color:var(--muted)}footer img{width:160px;height:auto}a:focus-visible{outline:3px solid #e28d24;outline-offset:5px}@media(max-width:760px){header{height:80px;padding:0 6%}header img{width:180px}nav>a:first-child{display:none}.nav-cta{padding:10px 14px;font-size:12px}.nav-cta span{margin-left:8px}.hero{padding:50px 7% 0}h1{font-size:clamp(49px,10.5vw,77px);letter-spacing:-3px;margin:30px 0}.hero-bottom,.contact-bottom{align-items:start;flex-direction:column;gap:15px}.hero-bottom p{font-size:15px}.hero-foot{margin-top:40px;font-size:8px;letter-spacing:1px}.services,.portfolio,.process{padding:65px 7%}.section-top{grid-template-columns:1fr;gap:22px}.section-top p{max-width:320px}.service-grid{grid-template-columns:1fr 1fr;gap:28px 24px;margin-top:35px}h3{font-size:17px;margin-top:20px}article p{font-size:13px}.gallery-head{display:block}.gallery-note{display:block;margin-top:20px}.photo-pending{min-height:240px}.steps{grid-template-columns:1fr;gap:28px;margin-top:35px}.steps h3{margin:14px 0 8px}.contact{padding:50px 7%;margin:0 0 30px}.contact h2{letter-spacing:-2px}.contact-bottom{gap:10px}footer{flex-wrap:wrap;padding:15px 7% 35px;gap:20px}footer>span{width:100%}}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}.button{transition:none}}

.carousel{margin-top:45px;min-width:0}.carousel-title{font-size:19px;margin:0 0 22px}.slides{display:flex;overflow-x:auto;scroll-snap-type:x mandatory;scrollbar-width:none;gap:20px}.slides::-webkit-scrollbar{display:none}.slide{flex:0 0 100%;min-width:0;scroll-snap-align:start;margin:0}.slide img{display:block;width:100%;height:auto;object-fit:contain}.landscape .slide img{aspect-ratio:3/2}.slide figcaption{padding:16px 0;font-size:12px;color:var(--muted)}.portrait{margin-top:65px}.portrait .slide{flex-basis:calc((100% - 40px)/3)}.portrait .slide img{aspect-ratio:2/3}.portrait .slides::after{content:'';flex:0 0 calc((100% - 40px)/3*2 + 20px)}.gallery-controls{display:flex;align-items:center;justify-content:space-between;margin-top:10px;font-size:12px;letter-spacing:1px}.gallery-controls button{width:46px;height:46px;border:1px solid #ccc;background:transparent;border-radius:50%;cursor:pointer;font-size:20px;color:var(--ink);margin-left:8px}.gallery-controls button:hover{background:var(--red);border-color:var(--red);color:#fff}.gallery-controls button:focus-visible,.slides:focus-visible{outline:3px solid #e28d24;outline-offset:3px}.swipe-hint{font-size:10px;color:var(--muted)}@media(max-width:760px){.swipe-hint{display:none}.slides{gap:12px}.portrait .slide{flex-basis:82%}.portrait .slides::after{flex-basis:calc(18% - 12px)}.carousel-title{font-size:17px}.portrait{margin-top:45px}}
