:root{color-scheme:light;--ink:#18191b;--yellow:#ffdd00;--paper:#f5f4ef;--muted:#656861;--line:#d9dbd4;--wrap:1440px;font-family:-apple-system,BlinkMacSystemFont,"Segoe UI","PingFang SC","Microsoft YaHei",sans-serif;color:var(--ink);background:var(--paper);font-synthesis:none;text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased}
*{box-sizing:border-box}
html{scroll-behavior:smooth;scroll-padding-top:82px}
body{margin:0}
img{display:block;max-width:100%}
a{color:inherit;text-decoration:none}
a:focus-visible{outline:3px solid #c49b00;outline-offset:5px}
.skip-link{position:fixed;z-index:20;top:-80px;left:12px;background:var(--yellow);color:var(--ink);padding:12px 16px;font-weight:700}
.skip-link:focus{top:12px}
.wrap{width:min(calc(100% - 112px),var(--wrap));margin-inline:auto}
.site-header{background:var(--ink);color:#fff}
.header-inner{height:78px;display:flex;align-items:center;gap:42px}
.logo{width:155px;flex-shrink:0}
.logo img{width:100%;height:auto}
.nav{display:flex;align-items:center;gap:37px;margin-left:auto;font-size:14px;color:#ddd}
.nav a,.footer-links a{transition:color .2s ease}
.nav a:hover,.footer-links a:hover{color:var(--yellow)}
.header-link{border:1px solid #6d6c60;border-radius:2px;padding:10px 16px;font-size:13px;white-space:nowrap;transition:background .2s,color .2s}
.header-link:hover{background:var(--yellow);color:var(--ink);border-color:var(--yellow)}
.header-link span{margin-left:16px}
.hero{display:grid;grid-template-columns:1fr 1fr;min-height:min(660px,calc(100vh - 78px));background:#f1f1eb}
.hero-copy{display:flex;align-items:center;justify-content:flex-end}
.hero-copy-inner{width:min(100%,720px);padding:90px 7.5vw 68px 56px}
.eyebrow,.section-label,.small-label,.hero-index,.service-number,.service-tag,.album-kicker{font-size:11px;letter-spacing:.16em;font-weight:700}
.eyebrow{display:flex;align-items:center;gap:10px;margin:0 0 32px;color:#55584e}
.eyebrow-dot{width:8px;height:8px;border-radius:50%;background:#b69600;box-shadow:0 0 0 5px #f6e26d}
h1,h2,h3,p,figure{margin:0}
h1,h2{letter-spacing:-.055em}
h1{font-size:clamp(44px,4.25vw,70px);line-height:1.24;font-weight:800;white-space:nowrap}
h1 span{position:relative;display:inline-block}
h1 span::after{position:absolute;z-index:0;left:0;right:0;bottom:2px;height:8px;content:"";background:var(--yellow);opacity:.9}
.hero-description{margin-top:28px;color:#62645d;font-size:15px;line-height:2}
.hero-actions{display:flex;align-items:center;gap:30px;margin-top:36px}
.button{display:inline-flex;align-items:center;justify-content:space-between;gap:36px;min-height:54px;padding:0 22px;font-size:14px;font-weight:700;transition:transform .2s,background .2s,color .2s}
.button:hover{transform:translateY(-2px)}
.button span{font-size:19px;line-height:1}
.button-dark{background:var(--ink);color:#fff}
.button-dark:hover{background:#3c3d39}
.text-link,.under-link{font-size:13px;font-weight:700;border-bottom:1px solid #aaa99f;padding:8px 0}
.text-link span,.under-link span{margin-left:14px}
.hero-index{display:flex;align-items:center;gap:13px;margin-top:68px;color:#808279;font-size:9px;letter-spacing:.14em}
.hero-index span:first-child{color:#33352e}
.index-line{height:1px;width:55px;background:#b6b8ad}
.hero-visual{position:relative;overflow:hidden;min-height:560px;background:#4a5c4a}
.hero-visual img{width:100%;height:100%;position:absolute;inset:0;object-fit:cover;object-position:center 12%}
.photo-shade{position:absolute;inset:0;background:linear-gradient(180deg,rgba(0,0,0,.02) 25%,rgba(0,0,0,.58) 100%)}
.hero-photo-label{position:absolute;bottom:58px;left:48px;right:48px;color:#fff;display:flex;align-items:end;justify-content:space-between;font-size:12px;line-height:1.35;letter-spacing:.16em;font-weight:700}
.photo-label-number{font-size:10px;letter-spacing:.1em}
.image-caption{position:absolute;bottom:14px;right:16px;z-index:1;color:#fff;background:rgba(16,18,15,.72);font-size:10px;letter-spacing:.02em;line-height:1.4;padding:4px 7px}
.section{padding:110px 0}
.section-label{display:flex;align-items:center;gap:15px;color:#777a71;font-size:10px}
.section-label span{color:#1a1b18;letter-spacing:0}
.section-label i{display:block;width:38px;height:1px;background:#a6a89d}
.intro-content{display:grid;grid-template-columns:1fr 1fr;gap:9%;padding-top:60px}
.small-label{color:#77796f;margin-bottom:22px}
h2{font-size:clamp(34px,3.2vw,50px);line-height:1.28;font-weight:800}
.intro-text{max-width:510px;padding-top:5px;color:#62655c;line-height:2;font-size:15px}
.intro-text p+p{margin-top:18px}
.under-link{display:inline-block;margin-top:24px;color:var(--ink)}
.services{background:#eaeae3}
.section-heading{display:flex;justify-content:space-between;align-items:end;gap:40px;padding:60px 0 44px}
.section-heading>p{max-width:320px;color:#74766d;font-size:14px;line-height:1.9}
.service-list{border-top:1px solid #bfc2b7}
.service-item{display:grid;grid-template-columns:80px minmax(180px,1fr) minmax(260px,1.4fr) 150px;align-items:center;gap:24px;min-height:112px;border-bottom:1px solid #c8cbc0}
.service-number{color:#8d8e83;letter-spacing:0}
.service-item h3{font-size:19px;letter-spacing:-.02em}
.service-item p{color:#686b62;font-size:14px;line-height:1.8}
.service-tag{justify-self:end;color:#85877e;font-size:9px}
.album{background:#1b1d1b;color:#fff}
.album-grid{display:grid;grid-template-columns:.92fr 1fr;gap:min(9vw,140px);align-items:center}
.album-image{height:500px;position:relative;overflow:hidden;background:#8c968b}
.album-image img{width:100%;height:100%;object-fit:cover;object-position:center 30%}
.section-label-light{color:#a5a99f}
.section-label-light span{color:var(--yellow)}
.section-label-light i{background:#6d7168}
.album-kicker{margin:66px 0 20px;color:var(--yellow);font-size:12px;letter-spacing:.1em}
.album h2{font-size:clamp(40px,4vw,62px)}
.album-description{max-width:410px;margin-top:24px;color:#bdc0b8;font-size:15px;line-height:2}
.button-yellow{margin-top:34px;background:var(--yellow);color:var(--ink)}
.button-yellow:hover{background:#ffe843}
.album-note{margin-top:18px;color:#aeb2a7;font-size:12px;line-height:1.7}
.contact{background:var(--yellow)}
.contact-inner{display:flex;justify-content:space-between;align-items:end;gap:60px}
.contact .small-label{color:#5d5500}
.contact h2{font-size:clamp(38px,4vw,60px)}
.contact-details{display:flex;flex-direction:column;align-items:flex-start;gap:15px;min-width:330px;font-size:14px}
.contact-details p{line-height:1.8;color:#504a17}
.contact-details a{font-weight:800;font-size:clamp(18px,2vw,23px);border-bottom:1px solid #716600;padding-bottom:8px}
.contact-details a span{margin-left:18px}
.contact-details>span{font-size:12px;color:#5d571d}
.site-footer{background:#18191b;color:#e9e9e4;padding:58px 0 24px}
.footer-inner{display:flex;justify-content:space-between;align-items:start;gap:40px;padding-bottom:62px}
.footer-brand img{width:157px;height:auto}
.footer-brand p{margin-top:20px;color:#a9aaa2;font-size:12px}
.footer-links{display:flex;gap:28px;color:#c6c7bf;font-size:12px}
.footer-bottom{border-top:1px solid #43443e;padding-top:24px;display:flex;justify-content:space-between;gap:20px;color:#b0b1a8;font-size:11px}
.footer-bottom a{text-decoration:underline;text-underline-offset:3px}
@media(max-width:1100px){.wrap{width:calc(100% - 64px)}.hero-copy-inner{padding-left:32px;padding-right:4vw}h1{font-size:clamp(38px,4.5vw,52px)}.service-item{grid-template-columns:50px minmax(160px,1fr) minmax(220px,1.4fr) 120px;gap:16px}.album-grid{gap:7vw}}
@media(max-width:720px){html{scroll-padding-top:20px}.wrap{width:calc(100% - 40px)}.header-inner{height:66px;gap:12px}.logo{width:132px}.nav{display:none}.header-link{margin-left:auto;padding:9px 11px;font-size:12px}.header-link span{margin-left:8px}.hero{display:flex;flex-direction:column;min-height:0}.hero-copy{justify-content:flex-start}.hero-copy-inner{padding:72px 20px 48px}.eyebrow{margin-bottom:27px}.hero h1{font-size:clamp(38px,9.2vw,58px);white-space:normal}.hero-description{margin-top:22px;font-size:14px}.hero-actions{gap:22px;flex-wrap:wrap;margin-top:28px}.button{min-height:52px}.hero-index{margin-top:42px}.hero-visual{min-height:470px}.hero-photo-label{left:22px;right:22px;bottom:50px}.section{padding:72px 0}.intro-content{grid-template-columns:1fr;gap:28px;padding-top:38px}.intro-text{font-size:14px}.section-heading{display:block;padding:38px 0 30px}.section-heading>p{margin-top:18px}.service-item{grid-template-columns:38px 1fr;column-gap:12px;row-gap:8px;padding:24px 0;min-height:0}.service-item h3{font-size:18px}.service-item p{grid-column:2;font-size:13px}.service-tag{grid-column:2;justify-self:start;margin-top:3px}.album-grid{grid-template-columns:1fr;gap:40px}.album-image{height:360px}.album-kicker{margin-top:42px}.album-description{font-size:14px}.contact-inner{display:block}.contact-details{min-width:0;margin-top:36px}.footer-inner{display:block;padding-bottom:42px}.footer-links{margin-top:36px;display:grid;grid-template-columns:1fr 1fr;gap:20px}.footer-bottom{flex-direction:column;gap:12px}.desktop-break{display:none}}
@media(max-width:380px){.hero h1{font-size:36px}.hero-actions{gap:16px}.hero-visual{min-height:390px}.album-image{height:300px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*::before,*::after{transition:none!important}}
