:root{--red:#ae2635;--red-dark:#8f1f2b;--ink:#171819;--muted:#65666a;--paper:#f8f7f4;--line:#e8e5df;--white:#fff;--navy:#1d252b;--sans:Arial,Helvetica,sans-serif;--serif:Georgia,'Times New Roman',serif}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:88px}body{margin:0;color:var(--ink);font-family:var(--sans);background:#fff;line-height:1.55}button,a{font:inherit}a{color:inherit;text-decoration:none}button{color:inherit}.site-header{height:88px;padding:0 clamp(20px,5vw,78px);display:flex;align-items:center;justify-content:space-between;background:#fff;border-bottom:1px solid var(--line);position:sticky;top:0;z-index:20}.brand{display:flex;align-items:center;max-width:260px}.brand img{display:block;width:auto;height:61px;max-width:250px;object-fit:contain}.main-nav{display:flex;align-items:center;gap:clamp(14px,2vw,30px);font-size:14px;font-weight:600}.main-nav a:not(.nav-wa){white-space:nowrap;transition:color .18s}.main-nav a:hover,.footer-links a:hover{color:var(--red)}.nav-wa,.button-red{display:inline-flex;align-items:center;justify-content:center;gap:14px;color:white;background:var(--red);padding:13px 20px;border-radius:3px;font-size:14px;font-weight:700;transition:background .18s,transform .18s}.nav-wa:hover,.button-red:hover{background:var(--red-dark);transform:translateY(-1px)}.menu-toggle{display:none}
.hero{height:min(680px,calc(100svh - 88px));min-height:500px;position:relative;overflow:hidden;background:#3e4141;color:#fff;isolation:isolate}.hero-photo{position:absolute;inset:0;z-index:-2;background:#272a2d center/cover no-repeat;transition:opacity .35s}.hero-photo::before{content:"";position:absolute;inset:-24px;background-image:var(--hero-image);background-position:center;background-size:cover;filter:blur(14px) brightness(.52);transform:scale(1.06);opacity:.85}.hero-photo::after{content:"";position:absolute;inset:0;background-image:var(--hero-image);background-repeat:no-repeat;background-position:center;background-size:contain}.hero-photo.photo-missing{background:#ebe9e3}.hero-photo.photo-missing::before{display:none}.hero-photo.photo-missing::after{inset:10% 8% 12% auto;width:37%;height:78%;background:none;border:1px solid #c8c4bb;display:grid;place-items:center;content:'SONFAN PHOTO TO ADD';font-size:11px;letter-spacing:2px;color:#777;background:repeating-linear-gradient(135deg,#eeece6,#eeece6 18px,#e9e6df 18px,#e9e6df 36px)}.hero-shade{position:absolute;inset:0;z-index:-1;background:linear-gradient(90deg,rgba(13,16,18,.77),rgba(13,16,18,.36) 48%,rgba(13,16,18,.08) 100%),linear-gradient(0deg,rgba(10,12,13,.24),transparent 46%);pointer-events:none}.hero-copy{position:absolute;left:clamp(24px,7vw,108px);top:50%;transform:translateY(-42%);max-width:min(650px,55vw);text-shadow:0 2px 18px #0003}.hero-kicker,.eyebrow{margin:0 0 13px;color:var(--red);font-size:11px;line-height:1.3;font-weight:700;letter-spacing:.2em;text-transform:uppercase}.hero-kicker{color:#fff;letter-spacing:.19em}.hero h1{font:500 clamp(45px,6.3vw,88px)/1.03 var(--serif);letter-spacing:-.035em;margin:0 0 20px;max-width:680px}.hero-description{font-size:clamp(15px,1.35vw,18px);max-width:510px;margin:0 0 27px;color:#f2f1ee}.button-red span{font-size:18px}.slider-tools{position:absolute;left:clamp(24px,7vw,108px);bottom:30px;display:flex;align-items:center;gap:10px}.slide-control{height:38px;width:38px;border:1px solid #ffffff80;background:#0d0e0f33;color:white;border-radius:50%;cursor:pointer;font-size:16px;display:grid;place-items:center;transition:background .18s}.slide-control:hover{background:#ffffff30}.slide-dots{display:flex;gap:8px;align-items:center;padding:0 6px}.slide-dot{width:7px;height:7px;border:0;border-radius:50%;background:#ffffff77;padding:0;cursor:pointer}.slide-dot.active{background:#fff;width:24px;border-radius:8px}.pause-control{font-size:13px;margin-left:7px}.slide-count{position:absolute;right:clamp(24px,7vw,108px);bottom:37px;display:flex;align-items:center;gap:10px;font-size:11px;letter-spacing:.16em}.count-rule{height:1px;width:38px;background:#ffffffa0}
.section-pad{padding-left:clamp(22px,7vw,108px);padding-right:clamp(22px,7vw,108px)}.intro{padding-top:86px;padding-bottom:40px;display:grid;grid-template-columns:1.1fr .8fr;gap:10%;align-items:end}.intro h2,.about-copy h2,.project-heading h2,.gallery-heading h2,.contact-section h2{font:500 clamp(31px,4vw,52px)/1.12 var(--serif);letter-spacing:-.025em;margin:0}.intro-heading .eyebrow,.gallery-heading .eyebrow{margin-bottom:13px}.text-link{display:inline-flex;align-items:center;gap:11px;margin-top:22px;font-size:14px;font-weight:700;color:var(--red)}.text-link span{font-size:18px}.intro-copy{font-size:16px;line-height:1.8;color:var(--muted);max-width:510px;margin:0 0 6px}.category-section{padding-top:16px;padding-bottom:84px}.category-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:20px}.category-card{border:1px solid var(--line);background:#fff;min-width:0;cursor:pointer;display:flex;flex-direction:column;text-align:left;padding:0;transition:transform .18s,box-shadow .18s}.category-card:hover{transform:translateY(-3px);box-shadow:0 14px 35px #15151512}.category-image{height:clamp(205px,24vw,310px);position:relative;overflow:hidden;background:#eeece6}.category-image img{width:100%;height:100%;object-fit:cover;display:block}.category-image.product-fit img{object-fit:contain;background:#e8e7e3;padding:12px}.image-placeholder{height:100%;width:100%;display:grid;place-items:center;text-align:center;background:linear-gradient(145deg,#f0eee8,#e8e5dd);color:#77736c;padding:18px}.image-placeholder span{font-size:10px;letter-spacing:.17em;text-transform:uppercase;font-weight:700}.category-body{padding:19px 20px 21px}.category-body h3{font:600 21px/1.25 var(--serif);margin:0 0 8px}.category-body p{color:var(--muted);font-size:14px;line-height:1.6;margin:0;min-height:44px}.category-body .card-link{display:inline-flex;gap:9px;align-items:center;margin-top:15px;color:var(--red);font-size:13px;font-weight:700}.coming-card{background:#f1f0ec;display:flex;flex-direction:column;justify-content:center;padding:26px;min-height:315px}.coming-card .eyebrow{margin-bottom:9px}.coming-card h3{font:500 30px/1.15 var(--serif);margin:0 0 12px}.coming-card p{margin:0;color:#606064;font-size:14px;line-height:1.65}
.about-section{display:grid;grid-template-columns:1.04fr .96fr;gap:clamp(28px,6vw,86px);align-items:center;padding-top:40px;padding-bottom:100px}.about-photo{min-height:380px;background:#eeeae2}.photo-needed{display:grid;place-items:center;position:relative;overflow:hidden;background:linear-gradient(145deg,#f0eee8,#e4e0d6)}.photo-needed-label{padding:9px 12px;background:#ffffffdb;color:#68645d;font-size:10px;letter-spacing:.13em;text-transform:uppercase;font-weight:700}.about-copy{max-width:550px}.about-copy h2{margin:0 0 17px}.about-copy>p:not(.eyebrow){color:var(--muted);line-height:1.8;margin:0;max-width:470px}.project-section{background:#202325;color:#fff;padding-top:56px;padding-bottom:58px;display:grid;grid-template-columns:1.5fr .7fr;gap:8%;align-items:center}.project-section .eyebrow{color:#d38c91}.project-heading h2{font-size:clamp(34px,4vw,52px);margin-bottom:16px}.project-heading>p:not(.eyebrow){max-width:660px;color:#c7c7c6;line-height:1.75;margin:0 0 22px}.project-points{margin:0;padding:0;list-style:none;display:grid;gap:11px;color:#f2f1ee;font-size:14px}.project-points li:before{content:'✓';color:#d88990;font-weight:700;margin-right:11px}.gallery-section{padding-top:92px;padding-bottom:88px}.gallery-heading{margin-bottom:28px}.gallery-heading>p:last-child{color:var(--muted);margin:13px 0 0}.gallery-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:16px}.gallery-placeholder{min-height:225px;display:grid;place-items:center;text-align:center;padding:18px;background:linear-gradient(145deg,#f0eee8,#e6e2d9);color:#77736c;font-size:10px;font-weight:700;letter-spacing:.13em;text-transform:uppercase}.contact-section{padding-top:72px;padding-bottom:76px;border-top:1px solid var(--line)}.contact-section h2{margin-bottom:33px}.contact-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:20px}.contact-grid h3{font-size:15px;margin:0 0 7px}.contact-grid p{font-size:14px;color:var(--muted);line-height:1.7;margin:0}.contact-grid a:hover{color:var(--red)}
.site-footer{background:#151718;color:#fff;padding:31px clamp(22px,7vw,108px);display:flex;align-items:center;justify-content:space-between;gap:20px}.footer-brand img{height:48px;width:auto;max-width:205px;object-fit:contain;background:#fff;padding:3px;border-radius:2px}.footer-brand p{color:#bfc0bf;font-size:10px;letter-spacing:.16em;text-transform:uppercase;margin:2px 0 0}.footer-links{display:flex;align-items:center;gap:20px;font-size:12px;color:#d0d0ce}.footer-note{font-size:12px;color:#bfc0bf;margin:0}.catalog-view,.product-view{min-height:72vh;padding:0 clamp(20px,7vw,108px) 86px;background:#fff}.subpage-top{display:flex;align-items:center;gap:10px;padding:22px 0;color:#777;font-size:13px;border-bottom:1px solid var(--line)}.back-home{border:0;padding:0;background:transparent;color:var(--red);cursor:pointer;font-size:13px;font-weight:600}.crumb-separator{color:#b2b0ab}.catalog-heading{padding:39px 0 26px}.catalog-heading h1{font:500 clamp(37px,5vw,60px)/1.08 var(--serif);letter-spacing:-.03em;margin:0 0 13px}.catalog-heading>p:last-child{color:var(--muted);font-size:15px;max-width:650px;margin:0;line-height:1.7}.security-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:22px}.security-card{border:1px solid var(--line);background:#fff;min-width:0;cursor:pointer;transition:transform .18s,box-shadow .18s}.security-card:hover{transform:translateY(-3px);box-shadow:0 14px 30px #12121212}.security-photo{height:clamp(280px,32vw,430px);background:#efeeea;padding:12px;display:grid;place-items:center}.security-photo img{width:100%;height:100%;object-fit:contain;display:block}.security-body{padding:17px 18px 19px}.product-code{display:inline-block;color:var(--red);font-family:var(--serif);font-size:18px;font-weight:700;letter-spacing:.18em;line-height:1.15;padding:6px 10px;background:#f7f5f0;border-left:2px solid var(--red);border-radius:2px}.security-body h2{font:600 19px/1.25 var(--serif);margin:8px 0 8px}.security-body p{font-size:13px;line-height:1.6;color:var(--muted);margin:0 0 16px;min-height:40px}.ask-button{display:flex;align-items:center;justify-content:center;gap:9px;padding:12px 14px;background:var(--red);color:#fff;border:0;border-radius:3px;font-size:13px;font-weight:700;width:100%;cursor:pointer}.ask-button:hover{background:var(--red-dark)}.catalog-notice{margin:6px 0 70px;padding:clamp(24px,5vw,54px);background:var(--paper);border:1px solid var(--line);display:grid;grid-template-columns:1.2fr .8fr;gap:22px;align-items:center}.catalog-notice h2{font:500 clamp(27px,4vw,40px)/1.12 var(--serif);margin:0 0 12px}.catalog-notice p{max-width:520px;color:var(--muted);line-height:1.7;margin:0}.catalog-notice .button-red{justify-self:end}.product-detail{display:grid;grid-template-columns:minmax(0,1.05fr) minmax(300px,.95fr);gap:clamp(28px,6vw,82px);padding:42px 0 80px;align-items:center}.detail-photo{height:min(72vh,710px);min-height:390px;background:#f0efeb;padding:18px;display:grid;place-items:center}.detail-photo img{width:100%;height:100%;object-fit:contain}.detail-copy .product-code{padding:7px 10px;background:#f7f5f0}.detail-copy h1{font:500 clamp(34px,4.5vw,56px)/1.1 var(--serif);letter-spacing:-.025em;margin:16px 0}.detail-copy>p{color:var(--muted);line-height:1.8;margin:0 0 13px}.detail-note{border-top:1px solid var(--line);padding-top:15px;margin-top:21px!important;font-size:13px}.detail-actions{display:grid;gap:10px;margin-top:23px}.button-outline{display:flex;align-items:center;justify-content:center;padding:12px 14px;border:1px solid var(--line);border-radius:3px;font-size:13px;font-weight:700;background:#fff;cursor:pointer}.button-outline:hover{border-color:var(--red);color:var(--red)}[hidden]{display:none!important}
@media(max-width:1000px){.site-header{padding:0 22px}.brand img{height:54px;max-width:210px}.main-nav{gap:13px;font-size:12px}.nav-wa{padding:11px 13px}.hero-copy{max-width:61vw}.category-grid,.security-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.category-image{height:280px}.security-photo{height:390px}.about-section{grid-template-columns:1fr 1fr}.project-section{grid-template-columns:1.2fr .8fr}.site-footer{flex-wrap:wrap}}
@media(max-width:700px){html{scroll-padding-top:72px}.site-header{height:72px;padding:0 16px}.brand img{height:49px;max-width:min(210px,62vw)}.menu-toggle{display:flex;width:42px;height:42px;border:1px solid var(--line);border-radius:3px;background:white;align-items:center;justify-content:center;flex-direction:column;gap:5px;cursor:pointer}.menu-toggle span{height:1.5px;width:18px;background:var(--ink)}.main-nav{display:none;position:absolute;left:0;right:0;top:72px;background:white;padding:10px 18px 18px;border-bottom:1px solid var(--line);box-shadow:0 14px 20px #00000010;align-items:stretch;flex-direction:column;gap:0;font-size:15px}.main-nav.open{display:flex}.main-nav a:not(.nav-wa){padding:12px 4px;border-bottom:1px solid var(--line)}.main-nav .nav-wa{margin-top:13px;min-height:46px}.hero{height:min(730px,calc(100svh - 72px));min-height:560px}.hero-photo::before{inset:-30px;filter:blur(13px) brightness(.49);transform:scale(1.09)}.hero-photo::after{background-position:center 38%;background-size:contain}.hero-photo.photo-missing::after{inset:9% 9% auto auto;width:48%;height:46%;font-size:9px}.hero-shade{background:linear-gradient(0deg,rgba(13,16,18,.88),rgba(13,16,18,.17) 72%),linear-gradient(90deg,rgba(13,16,18,.22),transparent)}.hero-copy{left:21px;right:20px;top:auto;bottom:107px;transform:none;max-width:600px}.hero h1{font-size:clamp(41px,11vw,64px);margin-bottom:15px}.hero-kicker{font-size:10px}.hero-description{font-size:15px;line-height:1.55;margin-bottom:20px;max-width:430px}.slider-tools{left:20px;bottom:24px;gap:7px}.slide-control{width:36px;height:36px}.slide-count{right:20px;bottom:36px}.intro{grid-template-columns:1fr;gap:19px;padding-top:57px;padding-bottom:25px}.intro h2{font-size:38px}.intro-copy{font-size:14px}.category-section{padding-bottom:62px}.category-grid,.security-grid{grid-template-columns:1fr;gap:15px}.category-image{height:clamp(235px,70vw,355px)}.category-body{padding:16px 17px 18px}.category-body h3{font-size:20px}.category-body p{min-height:0}.coming-card{min-height:235px}.about-section{grid-template-columns:1fr;gap:24px;padding-top:20px;padding-bottom:65px}.about-photo{min-height:260px}.about-copy h2{font-size:39px}.about-copy>p:not(.eyebrow){font-size:14px}.project-section{grid-template-columns:1fr;gap:27px;padding-top:41px;padding-bottom:43px}.project-heading h2{font-size:38px}.project-points{grid-template-columns:1fr 1fr;gap:12px;font-size:12px}.gallery-section{padding-top:62px;padding-bottom:62px}.gallery-heading h2{font-size:36px}.gallery-grid{grid-template-columns:1fr;gap:10px}.gallery-placeholder{min-height:180px}.contact-section{padding-top:54px;padding-bottom:55px}.contact-section h2{font-size:39px}.contact-grid{grid-template-columns:1fr;gap:21px}.site-footer{padding:25px 20px;display:grid;grid-template-columns:1fr auto}.footer-links{grid-column:1/-1;grid-row:2;flex-wrap:wrap;gap:15px}.footer-note{grid-column:1/-1;grid-row:3}.catalog-view,.product-view{padding-left:18px;padding-right:18px;padding-bottom:50px}.subpage-top{padding:17px 0;gap:7px;font-size:11px;flex-wrap:wrap}.back-home{font-size:12px}.catalog-heading{padding:30px 0 21px}.catalog-heading h1{font-size:40px}.catalog-heading>p:last-child{font-size:14px}.security-grid{gap:15px}.security-photo{height:clamp(330px,108vw,490px);padding:9px}.security-body{padding:15px 16px 17px}.security-body h2{font-size:19px}.catalog-notice{grid-template-columns:1fr;margin:0 0 36px;padding:24px 20px}.catalog-notice .button-red{justify-self:start}.product-detail{grid-template-columns:1fr;gap:22px;padding-top:25px}.detail-photo{height:min(70svh,600px);min-height:365px;padding:10px}.detail-copy h1{font-size:38px}.detail-copy>p{font-size:14px}.detail-actions{gap:9px}}
@media(prefers-reduced-motion:reduce){*,*::before,*::after{scroll-behavior:auto!important;transition:none!important;animation:none!important}}


/* Slideshow navigation: only discreet side arrows; it advances automatically. */
.hero-arrow{position:absolute;z-index:3;top:50%;transform:translateY(-50%);width:46px;height:46px;display:grid;place-items:center;border:1px solid #ffffff91;border-radius:50%;background:#16191b55;color:#fff;font-size:31px;font-family:Arial,sans-serif;line-height:1;cursor:pointer;transition:background .18s,transform .18s}.hero-arrow:hover{background:#16191baa;transform:translateY(-50%) scale(1.04)}.hero-arrow-prev{left:clamp(14px,2.4vw,32px)}.hero-arrow-next{right:clamp(14px,2.4vw,32px)}
@media(max-width:700px){.hero-arrow{top:35%;width:42px;height:42px;font-size:28px}.hero-arrow-prev{left:11px}.hero-arrow-next{right:11px}}

/* Hero fit: preserve the whole supplied door scene in the wide slide. */
.hero-photo::after{inset:0 3% 0 auto;width:56%;height:100%;background-position:center;background-size:contain}
.hero h1{white-space:pre-line}.about-promise{white-space:pre-line}.contact-grid p{white-space:pre-line}
.hero-copy{max-width:min(650px,46vw)}
@media(max-width:700px){.hero-photo::after{inset:3% 0 auto;width:100%;height:57%;background-position:center;background-size:contain}.hero-copy{max-width:none}}
/* Keep each supplied door scene intact across the full slideshow frame. */
.hero-photo::after{inset:0;width:100%;height:100%;background-position:center;background-size:contain}
@media(max-width:700px){.hero-photo::after{inset:0;width:100%;height:100%;background-position:center;background-size:contain}}
/* Use a deliberate image-and-copy composition for near-square source photos. */
.hero-photo::before{display:none}
.hero-photo::after{inset:0 0 0 auto;width:58%;height:100%;background-color:#d9d5cd;background-position:center;background-size:contain}
.hero-shade{background:linear-gradient(90deg,#17191b 0%,rgba(23,25,27,.94) 34%,rgba(23,25,27,.38) 51%,rgba(23,25,27,0) 68%)}
.hero-copy{max-width:min(650px,43vw)}
@media(max-width:700px){.hero-photo::after{inset:0 0 auto;width:100%;height:62%;background-color:#d9d5cd;background-position:center;background-size:contain}.hero-shade{background:linear-gradient(0deg,#17191b 0%,rgba(23,25,27,.96) 30%,rgba(23,25,27,.2) 65%,rgba(23,25,27,0) 83%)}.hero-copy{max-width:none}}

/* Mobile slideshow: show the complete architectural photograph first, then the copy. */
@media(max-width:700px){
  .hero{height:auto;min-height:0;display:flex;flex-direction:column;padding:0 0 76px;background:#17191b}
  .hero-photo{position:relative;inset:auto;z-index:0;width:100%;height:auto;aspect-ratio:1.672;background:#d9d5cd;flex:none}
  .hero-photo::before{display:none}
  .hero-photo::after{inset:0;width:100%;height:100%;background-position:center;background-size:contain;background-color:#d9d5cd}
  .hero-shade{inset:59.8vw 0 0;background:linear-gradient(180deg,#17191b 0%,#17191b 100%)}
  .hero-copy{position:relative;left:auto;right:auto;top:auto;bottom:auto;transform:none;max-width:none;padding:24px 21px 0;text-shadow:none}
  .hero-arrow{top:calc(100vw * .299);transform:translateY(-50%)}
  .hero-arrow:hover{transform:translateY(-50%) scale(1.04)}
}

/* Portrait showroom slides keep their full vertical frame instead of forcing a wide crop. */
.hero.hero-portrait .hero-photo::after{inset:0 auto 0 50%;width:auto;height:100%;aspect-ratio:8/9;transform:translateX(-50%);background-position:center;background-size:contain;background-color:#d9d5cd}
.hero.hero-portrait .hero-copy{max-width:min(500px,30vw)}
.hero.hero-portrait .hero-shade{background:linear-gradient(90deg,#17191b 0%,#17191b 32%,rgba(23,25,27,0) 38%)}
@media(max-width:700px){.hero.hero-portrait .hero-photo::after{inset:0;width:100%;height:100%;aspect-ratio:auto;transform:none}}
@media(max-width:700px){
  .hero.hero-portrait .hero-photo{aspect-ratio:8/9}
  .hero.hero-portrait .hero-photo::after{inset:0;width:100%;height:100%;aspect-ratio:auto;background-size:contain}
  .hero.hero-portrait .hero-shade{inset:112.5vw 0 0;background:#17191b}
  .hero.hero-portrait .hero-arrow{top:56.25vw}
}

/* Give every catalogue image the same clean white display board and centered full-door fit. */
.security-photo{background:#fff}
.security-photo img,.detail-photo img{object-fit:contain;object-position:center center}
.detail-photo{background:#fff}

/* Keep the product picture visibly inside a white board, with all copy outside it. */
.security-photo{padding:18px;border:1px solid #e6e4df}
.security-photo img,.detail-photo img{background:#fff}
.detail-photo{padding:24px;border:1px solid #e6e4df;box-shadow:0 8px 22px #17191b0a}
@media(max-width:700px){.security-photo{padding:12px}.detail-photo{padding:14px}}

/* Keep tall catalogue photos inside their fixed white boards so text never overlays them. */
.security-photo,.detail-photo{overflow:hidden;grid-template-rows:minmax(0,1fr)}
.security-photo img,.detail-photo img{min-width:0;min-height:0;max-width:100%;max-height:100%}

/* Show the complete SONFAN photo within the About frame without cropping. */
.about-photo{aspect-ratio:4 / 3;min-height:0;overflow:hidden;background:#f3f3f1}
.about-photo img{display:block;width:100%;height:100%;object-fit:contain;object-position:center}
.about-page{min-height:72vh;padding:0 clamp(20px,7vw,108px) 80px;background:#fff}
.about-page-content{max-width:1260px;margin:0 auto;padding:34px 0 20px}
.about-hero{display:grid;grid-template-columns:.7fr 1.3fr;gap:clamp(28px,6vw,84px);align-items:center;padding:12px 0 70px}
.about-hero-copy .eyebrow{margin:0 0 14px}
.about-hero-copy h1{font:500 clamp(42px,5.4vw,68px)/1.04 var(--serif);letter-spacing:-.035em;margin:0 0 24px}
.about-promise{font:500 clamp(24px,3vw,36px)/1.2 var(--serif);margin:0;color:var(--red)}
.about-page-photo{width:100%;aspect-ratio:4 / 3;overflow:hidden;display:grid;place-items:center;background:#f3f3f1;border:1px solid var(--line)}
.about-page-photo img{display:block;width:100%;height:100%;object-fit:contain;object-position:center}
.about-story-list{max-width:1000px;margin:0 auto;padding-bottom:34px}
.about-story-row{display:grid;grid-template-columns:90px minmax(0,1fr);gap:24px;padding:34px 0;border-top:1px solid var(--line)}
.about-story-number{font:700 16px/1.2 var(--serif);letter-spacing:.08em;color:var(--red);margin:6px 0 0}
.about-story-number span{font:500 11px/1 var(--sans);color:#999;letter-spacing:.04em}
.about-story-copy h2{font:500 clamp(25px,3vw,34px)/1.15 var(--serif);letter-spacing:-.02em;margin:0 0 14px}
.about-story-copy>p{font-size:15px;line-height:1.8;color:var(--muted);max-width:760px;margin:0 0 12px}
.about-story-copy>p:last-child{margin-bottom:0}
.about-locations,.about-service-options{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;margin-top:21px}
.about-locations>div,.about-service-options>div{padding:17px 18px;background:var(--paper);border:1px solid var(--line)}
.about-locations span{display:block;color:var(--red);font-size:11px;letter-spacing:.12em;text-transform:uppercase;font-weight:700;margin-bottom:7px}
.about-locations p,.about-service-options p{color:var(--muted);font-size:14px;line-height:1.65;margin:0}
.about-service-options h3{font:600 18px/1.3 var(--serif);margin:0 0 7px}
@media(max-width:700px){.about-page{padding-bottom:48px}.about-page-content{padding-top:18px}.about-hero{grid-template-columns:1fr;gap:23px;padding:12px 0 42px}.about-hero-copy h1{font-size:46px;margin-bottom:15px}.about-promise{font-size:26px}.about-story-list{padding-bottom:10px}.about-story-row{grid-template-columns:53px minmax(0,1fr);gap:13px;padding:25px 0}.about-story-number{font-size:13px}.about-story-number span{display:block;margin-top:4px}.about-story-copy h2{font-size:26px}.about-story-copy>p{font-size:14px}.about-locations,.about-service-options{grid-template-columns:1fr;gap:9px;margin-top:15px}}



.gallery-image{margin:0;height:clamp(260px,30vw,390px);display:grid;place-items:center;overflow:hidden;background:#f0efeb;border:1px solid var(--line)}.gallery-image img{display:block;width:100%;height:100%;object-fit:contain;object-position:center;background:#f0efeb}
@media(max-width:700px){.gallery-image{height:clamp(300px,92vw,440px)}}


.security-grid.single-inquiry-grid{grid-template-columns:minmax(0,min(100%,600px));justify-content:center}.inquiry-photo-card .security-body{padding-top:14px;padding-bottom:15px}.inquiry-photo-card .card-link{font-weight:700;color:var(--red)}

.directions-link{display:inline-block;margin-top:8px;color:var(--red);font-size:13px;font-weight:700}.directions-link:hover{text-decoration:underline}
.catalog-tools{max-width:520px;margin:-5px 0 25px}.catalog-tools label{display:block;margin-bottom:8px;font-size:13px;font-weight:700}.catalog-tools input{width:100%;min-height:48px;padding:11px 14px;border:1px solid var(--line);border-radius:3px;background:#fff;color:var(--ink);font:inherit}.catalog-tools input:focus{outline:2px solid #9b3038;outline-offset:2px}.catalog-tools p{min-height:18px;margin:7px 0 0;color:var(--muted);font-size:12px}

.staff-section{margin:4rem 0}.staff-section>h2{font-family:Georgia,serif;font-size:clamp(2rem,4vw,3rem);margin-bottom:1.5rem}.staff-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(190px,1fr));gap:1.25rem}.staff-card{background:#fff;border:1px solid #e7e3df;padding:1rem}.staff-card img{width:100%;aspect-ratio:4/5;object-fit:cover}.staff-card h3{margin:.9rem 0 .25rem}.staff-card p{margin:0;color:#666}
