/* SM refinement: legible type, unfiltered architecture, restrained light motion. */
body{font-size:16px}
.geography{font-size:12px;min-height:35px}
.geography .nearby{color:#a5a5a5}
.desktop-menu a{font-size:14px}
.header-cta{font-size:14px;min-height:48px}
.brand-text{font-size:12px}
.button{font-size:15px;min-height:56px}
.eyebrow{font-size:12px;letter-spacing:.12em}
.heading-description{font-size:16px;line-height:1.75;max-width:390px}
.text-link{font-size:15px}

/* The photograph has its own unobscured area instead of sitting below text. */
.hero{display:grid;grid-template-columns:43% 57%;height:auto;min-height:740px;max-height:none;isolation:isolate;background:#0c0c0c}
.hero-visual{grid-column:2;grid-row:1;position:relative;min-width:0;min-height:740px;overflow:hidden;z-index:0;background:#171717}
.hero .hero-image{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:68% 50%;animation:none;filter:none;transform:none;opacity:1;image-rendering:auto}
.hero .hero-shade{position:absolute;inset:0;background:linear-gradient(0deg,#0c0c0c70 0%,transparent 24%);pointer-events:none}
.hero-grain{display:none}
.hero-content.shell{grid-column:1;grid-row:1;position:relative;z-index:2;width:auto;margin:0;padding:64px 30px 110px max(5.5vw,calc((100vw - 1440px)/2));align-self:center}
.hero .hero-eyebrow{font-size:11px;line-height:1.6;letter-spacing:.1em;margin-bottom:25px;color:#c8c1b4;gap:12px;animation:sm-content-enter .75s var(--ease) both}
.hero h1{font-size:clamp(68px,6.55vw,102px);line-height:1.01;font-weight:350;letter-spacing:-.055em;animation:sm-content-enter .9s .08s var(--ease) both}
.hero-content>p{font-size:18px;line-height:1.7;color:#c7c7c7;max-width:410px;margin-top:27px;animation:sm-content-enter .9s .16s var(--ease) both}
.hero-actions{gap:22px;margin-top:31px;animation:sm-content-enter .9s .24s var(--ease) both}
.hero-actions .button{font-size:15px;padding:17px 23px;white-space:nowrap}
.hero-link{font-size:14px;line-height:1.5;gap:12px;min-height:44px}
.hero-link>span{transition:transform .3s var(--ease)}
.hero-link:hover>span{transform:translateY(3px)}
.hero-guarantees{display:flex;gap:13px 21px;flex-wrap:wrap;margin-top:29px;max-width:470px;animation:sm-content-enter .9s .32s var(--ease) both}
.hero-guarantees>span,.hero-guarantees>div{display:flex;align-items:flex-start;gap:9px;font-size:14px;line-height:1.6;color:#d1c9ba}
.hero-guarantees>span:before,.hero-guarantees>div:before{content:"✓";display:inline-block;color:#e7b472;font-size:14px;flex:none}
.hero-guarantees svg{width:18px;height:18px;flex:none}
.hero-bottom{z-index:3;bottom:23px;font-size:11px;gap:22px;pointer-events:none}
.hero-bottom a{pointer-events:auto}
.hero-caption{font-size:12px;color:#c0bdb6;text-shadow:0 1px 5px #000;letter-spacing:0}
.hero-signature{font-size:10px;color:#bdb9b0;max-width:36%}
.hero .scroll-cue{display:none}
.hero-light-trace{position:absolute;inset:0;width:100%;height:100%;overflow:visible;pointer-events:none;opacity:.65}
.hero-light-trace path{fill:none;stroke:#ffdbac;stroke-width:1.25;stroke-linecap:round;stroke-linejoin:round;vector-effect:non-scaling-stroke;stroke-dasharray:1800;stroke-dashoffset:1800;filter:drop-shadow(0 0 4px #f3bc75);animation:sm-light-draw 2.8s .35s cubic-bezier(.16,.68,.25,1) both}
.hero-visual:after{content:"";position:absolute;inset:0;border-left:1px solid #d7aa6433;pointer-events:none}
.signature-strip>.shell{font-size:12px;min-height:75px;letter-spacing:.09em}

/* Real category images use cover crops; gallery sprites keep their original rules. */
.space-card{min-height:300px}
.space-image{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:center;filter:none;transition:transform .8s var(--ease)}
.space-card:after{background:linear-gradient(0deg,#080808f0 0%,#08080855 40%,transparent 78%)}
.space-card:hover .space-image{transform:scale(1.035)}
.space-topline{font-size:12px;letter-spacing:.09em;line-height:1.5}
.space-title{font-size:30px;max-width:none}
.space-copy{bottom:26px}
.space-arrow{bottom:3px}

/* Paragraphs, controls and project descriptions remain readable at actual scale. */
.catalog-intro p{font-size:16px;max-width:690px}
.catalog-intro>span{font-size:14px;max-width:230px}
.collection-count>span{font-size:14px}
.category-tab{font-size:14px;padding:17px 14px;min-height:54px}
.tab-count{font-size:12px}
.filter-row{flex-wrap:wrap;gap:18px}
.filter-row label{font-size:14px;gap:10px;min-width:210px}
.filter-row select{font-size:16px;min-height:52px}
.reset-filter{font-size:14px;min-height:52px;padding:12px 4px}
.gallery-status{font-size:14px;line-height:1.6;padding:14px 0}
.concept-note{font-size:14px;line-height:1.7;gap:11px}
.concept-note>span{width:17px;height:17px;font-size:11px;margin-top:4px}
.card-content{padding:23px 22px 20px}
.card-content>span{font-size:12px;line-height:1.65}
.card-content h3{font-size:27px;margin-top:3px}
.card-content>p{font-size:15px;line-height:1.7;min-height:52px}
.style-badge{font-size:12px;line-height:1.4}
.card-bottom{gap:10px;flex-wrap:wrap}
.compare-toggle{font-size:14px;min-height:44px;padding:10px 12px}
.quick-pick{font-size:14px;min-height:44px;padding:10px 0}
.catalog-footer{font-size:14px;line-height:1.7}
.solution-trigger h3{font-size:29px}
.solution-index{font-size:13px}
.solution-body p{font-size:16px;line-height:1.75}
.solution-tags{font-size:11px;line-height:1.7;letter-spacing:.08em}
.solution-caption>span,.solution-caption p{font-size:12px}
.solution-scene>.photo{filter:none}
.solution-scene-shade{background:linear-gradient(0deg,#080808e8,transparent 65%)}
.material-copy>p{font-size:16px;max-width:460px}
.material-copy>.material-note{font-size:14px;max-width:460px}
.material-sample>span{font-size:11px;line-height:1.5}
.material-sample>strong{font-size:21px}
.board-caption{font-size:12px}
.process-grid h3{font-size:25px}
.process-grid p{font-size:15px;line-height:1.75}
.process-grid article>span{font-size:14px}
.contact-inner>div>p{font-size:16px}
.city-list>span{font-size:15px}
.contact-card>p{font-size:16px}
.contact-card>.contact-small{font-size:14px;line-height:1.7}
.contact-card>.eyebrow{font-size:11px}
.footer-credit{font-size:13px;line-height:1.8}
.footer-controls button{font-size:13px;min-height:32px}
.photo-details p{font-size:16px}
.photo-details .eyebrow{font-size:12px}
.photo-specs p>span{font-size:12px}
.photo-specs strong{font-size:15px;line-height:1.6}
.photo-specs .button{font-size:14px;min-height:50px}
.label-concept{font-size:12px}
.photo-nav span{font-size:14px}
.photo-nav button{width:44px;height:40px}
.dialog-heading>p{font-size:16px}
.comparison-card>.room{font-size:13px;line-height:1.6}
.comparison-card dt{font-size:12px}
.comparison-card dd{font-size:15px}
.comparison-card .button{font-size:14px;min-height:50px}
.dialog-note{font-size:13px;line-height:1.7}
.brief-dialog label{font-size:14px;line-height:1.5}
.brief-dialog input,.brief-dialog select,.brief-dialog textarea{font-size:16px;min-height:50px}
.form-note{font-size:14px!important;line-height:1.75}
.selected-item{font-size:13px;line-height:1.6}
.selected-item button{min-width:28px;min-height:28px}
#brief-output{font-size:15px;line-height:1.7}
.result-actions .button{font-size:14px;min-height:50px}
#brief-status{font-size:14px}
.privacy-dialog p{font-size:16px}
.compare-bar strong{font-size:15px}
.compare-bar #compare-count{font-size:13px;line-height:1.5}
.compare-bar .button{font-size:14px;min-height:46px}
#toast{font-size:15px;line-height:1.65}

/* Guarantees and tangible project advantages. */
.advantages-section{border-top:1px solid #34302a;border-bottom:1px solid #34302a;background:#111;position:relative}
.advantages-section:before{content:"";position:absolute;top:-1px;left:5.5%;width:90px;height:1px;background:#e7b472;box-shadow:0 0 16px #e7b47230}
.advantages-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px}
.advantage-card{position:relative;padding:34px 30px 38px;border:1px solid #3c3932;border-radius:3px;background:linear-gradient(145deg,#1a1917,#131313);transition:border-color .3s,transform .4s var(--ease),box-shadow .4s}
.advantage-card:hover{border-color:#8a704b;transform:translateY(-4px);box-shadow:0 14px 40px #0004}
.advantage-card:before{content:"";display:block;width:30px;height:1px;background:#e7b472;box-shadow:0 0 12px #e7b47233;margin-bottom:29px}
.advantage-card>span,.advantage-card .advantage-index{color:#d6ae75;font-size:13px;letter-spacing:.08em}
.advantage-card h3{font-size:28px;line-height:1.18;margin:18px 0}
.advantage-card p{font-size:16px;line-height:1.75;color:#bcb9b3}
.advantage-card svg{width:28px;height:28px;color:#e7b472}
.advantages-note{font-size:14px;line-height:1.75;color:#a9a59e;max-width:850px;margin-top:25px}
@keyframes sm-content-enter{from{opacity:0;transform:translateY(16px)}to{opacity:1;transform:none}}
@keyframes sm-light-draw{from{stroke-dashoffset:1800;opacity:.1}to{stroke-dashoffset:0;opacity:1}}

@media(min-width:1600px){
.hero{min-height:820px}
.hero-visual{min-height:820px}
.hero-content.shell{padding-top:72px;padding-bottom:118px;padding-right:45px}
.hero h1{font-size:104px}
.hero-content>p{font-size:20px}
.hero-guarantees{margin-top:33px}
}
@media(max-width:1360px){
.hero-actions{flex-direction:column;align-items:flex-start;gap:13px}
.hero-guarantees{margin-top:22px;gap:9px 15px}
.hero{min-height:760px}
.hero-visual{min-height:760px}
}
@media(max-width:1180px){
.desktop-menu{display:none}
#menu-button{display:block}
.header-cta{margin-left:auto;font-size:14px}
.brand img{width:112px;height:69px}
.hero{grid-template-columns:45% 55%;min-height:750px}
.hero-visual{min-height:750px}
.hero-content.shell{padding-top:45px;padding-bottom:100px;padding-right:25px}
.hero h1{font-size:clamp(65px,7.3vw,86px)}
.hero-content>p{font-size:17px}
.hero-guarantees{gap:8px;flex-direction:column}
.hero .hero-eyebrow{font-size:10px;letter-spacing:.08em}
.signature-strip>.shell{font-size:11px;gap:14px}
.space-card{min-height:265px}
.space-title{font-size:27px}
.space-copy{left:22px;right:22px}
.advantages-grid{gap:14px}
.advantage-card{padding:29px 24px 33px}
.advantage-card h3{font-size:25px}
.advantage-card p{font-size:15px}
.process-grid h3{font-size:23px}
}
@media(max-width:980px){
.hero-content.shell{padding-left:5.5vw;padding-right:22px}
.hero h1{font-size:clamp(60px,7.4vw,76px)}
.hero-content>p{font-size:16px}
.hero-actions .button{font-size:14px;padding:16px 19px;gap:20px}
.hero-link{font-size:14px}
.hero-guarantees>span,.hero-guarantees>div{font-size:14px}
.heading-description{font-size:15px}
.signature-strip>.shell{font-size:10px}
.space-card{min-height:255px}
.space-title{font-size:25px}
.space-topline{font-size:11px}
.category-tab{font-size:14px}
.filter-row label{min-width:190px}
.solution-trigger h3{font-size:25px}
.solution-body p{font-size:15px}
.solution-tags{font-size:10px}
.material-copy>p,.contact-card>p{font-size:16px}
.process-grid h3{font-size:25px}
.process-grid p{font-size:15px}
.advantages-grid{grid-template-columns:1fr;gap:14px}
.advantage-card{padding:28px 31px}
.advantage-card:before{margin-bottom:18px}
.advantage-card h3{font-size:27px;margin:14px 0}
.advantage-card p{font-size:16px}
.advantage-card:hover{transform:translateY(-2px)}
}
@media(max-width:840px){
.hero{display:flex;flex-direction:column;min-height:0;height:auto;max-height:none}
.hero-visual{order:0;position:relative;min-height:0;height:390px;width:100%;flex:none}
.hero .hero-image{object-position:64% 50%}
.hero .hero-shade{background:linear-gradient(0deg,#0c0c0c33,transparent 25%)}
.hero-visual:after{border-left:0;border-bottom:1px solid #d7aa6433}
.hero-content.shell{order:1;width:89%;margin:0 auto;padding:42px 0 30px;align-self:auto}
.hero .hero-eyebrow{font-size:11px;line-height:1.6;margin-bottom:23px}
.hero h1{font-size:74px;line-height:1.01}
.hero-content>p{font-size:18px;line-height:1.7;max-width:570px;margin-top:24px}
.hero-actions{flex-direction:row;align-items:center;gap:24px;flex-wrap:wrap;margin-top:28px}
.hero-actions .button{font-size:15px;padding:17px 23px}
.hero-guarantees{flex-direction:row;gap:12px 25px;margin-top:26px;max-width:none}
.hero-guarantees>span,.hero-guarantees>div{font-size:15px}
.hero-bottom{position:relative;order:2;width:89%;margin:0 auto;padding:0 0 27px;left:auto;right:auto;bottom:auto;gap:18px;flex-wrap:wrap}
.hero-signature{max-width:none;font-size:10px}
.hero-caption{font-size:12px;margin-left:auto}
.hero-light-trace{opacity:.55}
.space-copy{left:20px;right:20px}
.signature-strip>.shell{font-size:11px}
}
@media(max-width:700px){
body{font-size:16px}
.geography{font-size:11px;min-height:32px}
.brand-text{font-size:11px}
.header-cta{display:none}
.hero-visual{height:340px}
.hero-content.shell{padding-top:33px;padding-bottom:26px}
.hero h1{font-size:67px}
.hero .hero-eyebrow{font-size:10px;letter-spacing:.08em;gap:10px}
.hero-content>p{font-size:17px;margin-top:22px}
.hero-actions{gap:17px 22px}
.hero-actions .button{font-size:15px;min-width:240px}
.hero-link{font-size:15px}
.hero-guarantees>span,.hero-guarantees>div{font-size:14px}
.hero-bottom{gap:11px;align-items:flex-start;flex-direction:column;padding-bottom:27px}
.hero-caption{margin-left:0}
.hero-signature{font-size:10px}
.hero-caption{font-size:12px}
.signature-strip>.shell{font-size:10px;line-height:1.6;gap:14px;padding:22px 0}
.eyebrow{font-size:11px;line-height:1.6;letter-spacing:.1em}
.heading-description{font-size:16px;line-height:1.75}
.space-grid{gap:13px}
.space-card{min-height:245px}
.space-title{font-size:25px;max-width:130px;line-height:1.18;padding-right:12px}
.space-copy{left:17px;right:17px;bottom:21px}
.space-topline{font-size:11px;letter-spacing:.06em}
.space-arrow{font-size:23px}
.catalog-intro p{font-size:15px}
.catalog-intro>span{font-size:14px}
.collection-count>span{font-size:14px}
.category-tab{font-size:14px;padding:15px 14px}
.tab-count{font-size:12px}
.filter-row{gap:15px 12px}
.filter-row label{font-size:14px;min-width:0}
.filter-row select{font-size:16px;min-height:52px;padding:12px 8px}
.reset-filter{font-size:14px;min-height:44px}
.gallery-status{font-size:13px;padding:10px 0;line-height:1.6}
.concept-note{font-size:14px;line-height:1.7}
.card-content{padding:22px 18px 19px}
.card-content>span{font-size:12px}
.card-content h3{font-size:26px}
.card-content>p{font-size:15px;min-height:52px}
.card-bottom{gap:9px;flex-wrap:wrap}
.compare-toggle,.quick-pick{font-size:14px;min-height:44px}
.style-badge{font-size:11px;padding:7px 9px}
.catalog-footer{font-size:14px}
.catalog-footer .text-link{font-size:15px}
.solution-trigger h3{font-size:27px}
.solution-index{font-size:13px}
.solution-body p{font-size:16px}
.solution-tags{font-size:11px}
.solution-caption h3{font-size:30px}
.solution-caption>span,.solution-caption p{font-size:12px}
.material-copy>p{font-size:16px}
.material-copy>.material-note{font-size:14px}
.material-sample>span{font-size:11px}
.material-sample>strong{font-size:20px}
.board-caption{font-size:12px}
.process-grid h3{font-size:25px}
.process-grid p{font-size:15px}
.process-grid article>span{font-size:14px}
.contact-inner>div>p{font-size:16px}
.contact-card>p{font-size:16px}
.contact-card>.contact-small{font-size:14px}
.contact-card>.eyebrow{font-size:11px}
.city-list{gap:15px;line-height:1.5}
.city-list>span{font-size:14px}
.footer-credit{font-size:13px}
.footer-controls button{font-size:13px}
.photo-details p,.dialog-heading>p,.privacy-dialog p{font-size:16px}
.photo-details .eyebrow{font-size:12px}
.photo-specs strong{font-size:15px}
.photo-specs p>span{font-size:12px}
.photo-specs .button{font-size:14px}
.comparison-card>.room{font-size:14px}
.comparison-card dt{font-size:12px}
.comparison-card dd{font-size:15px}
.comparison-card .button{font-size:14px}
.dialog-note{font-size:14px}
.mobile-compare-hint{font-size:14px!important}
.brief-dialog label{font-size:14px}
.brief-dialog input,.brief-dialog select,.brief-dialog textarea{font-size:16px;padding:13px 11px}
.selected-item{font-size:13px}
.result-actions{flex-wrap:wrap}
.result-actions .button{font-size:14px}
.compare-bar strong{font-size:14px}
.compare-bar #compare-count{font-size:12px}
.compare-bar .button{font-size:14px;min-height:44px}
.compare-thumb{width:40px;height:34px}
.compare-bar{gap:12px}
.advantage-card{padding:27px}
.advantage-card h3{font-size:27px}
.advantage-card p{font-size:16px}
.advantages-note{font-size:14px}
}
@media(max-width:480px){
.hero-visual{height:285px}
.hero-content.shell{padding-top:29px;padding-bottom:25px}
.hero h1{font-size:58px;line-height:1.03}
.hero-content>p{font-size:16px;line-height:1.75}
.hero .hero-eyebrow{font-size:10px;letter-spacing:.055em;gap:9px}
.light-stroke{width:24px;flex:none}
.hero-actions{align-items:stretch;flex-direction:column;gap:10px;margin-top:25px}
.hero-actions .button{width:100%;min-width:0;justify-content:space-between;font-size:15px}
.hero-link{font-size:15px;justify-content:space-between;width:100%;padding:9px 0}
.hero-guarantees{gap:11px;margin-top:22px;flex-direction:column}
.hero-guarantees>span,.hero-guarantees>div{font-size:14px}
.space-card{min-height:225px}
.space-copy{left:14px;right:14px;bottom:19px}
.space-title{font-size:24px;max-width:112px;padding-right:9px}
.space-topline{font-size:10px;letter-spacing:.025em;line-height:1.5}
.space-arrow{font-size:21px;right:0}
.card-content{padding:22px 21px 19px}
.card-content>p{font-size:16px;min-height:0}
.card-content h3{font-size:29px}
.card-content>span{font-size:13px}
.style-badge{font-size:12px}
.compare-toggle,.quick-pick{font-size:14px}
.filter-row label{font-size:13px}
.filter-row select{font-size:15px}
.gallery-status{font-size:12px}
.signature-strip>.shell{font-size:10px;letter-spacing:.06em}
.material-sample{padding:17px}
.material-sample>span{font-size:10px}
.material-sample>strong{font-size:18px}
.process-grid h3{font-size:27px}
.process-grid p{font-size:16px}
.city-list>span{font-size:14px}
.footer-credit{font-size:13px}
.brief-dialog .dialog-heading h2{font-size:32px}
.compare-bar{gap:10px;padding:13px;align-items:center;padding-bottom:calc(13px + env(safe-area-inset-bottom))}
.compare-bar>div:first-child{flex:1 1 calc(100% - 40px);order:1}
.compare-bar .clear-compare{order:2;flex:none}
.compare-bar .button{order:3;flex:1 1 100%;width:100%;justify-content:space-between}
.compare-bar strong{font-size:15px}
.compare-bar #compare-count{font-size:13px}
body.has-compare{padding-bottom:170px}
#toast{font-size:14px;bottom:180px}
}
@media(prefers-reduced-motion:reduce){
.hero-light-trace path{animation:none;stroke-dashoffset:0}
.hero-visual .hero-image,.hero-content>*,.hero-guarantees,.space-image,.advantage-card{animation:none!important;transition:none!important;transform:none}
}
.motion-off .hero-light-trace path{animation:none!important;stroke-dashoffset:0}
.motion-off .hero-visual .hero-image{animation:none!important;filter:none!important;transform:none!important}

@media(max-width:600px){
.space-grid{grid-template-columns:1fr}
.space-card{min-height:0;aspect-ratio:3/2}
.space-copy{left:22px;right:22px;bottom:23px}
.space-title{max-width:none;padding-right:35px;font-size:28px}
.space-topline{font-size:12px}
}
/* Premium CTA motion: long calm pause, then a short light invitation. */
.hero .button-gold{
position:relative;
isolation:isolate;
overflow:hidden;
box-shadow:0 8px 26px #e7b4721f,0 0 0 0 #e7b47200;
animation:sm-cta-breathe 5.4s 1.2s ease-in-out infinite
}
.hero .button-gold:before{
content:"";
position:absolute;
pointer-events:none;
inset:1px;
border:1px solid #fff0ca70;
border-radius:2px;
opacity:.42
}
.hero .button-gold:after{
content:"";
position:absolute;
pointer-events:none;
top:-45%;
left:-58%;
height:190%;
width:32%;
opacity:0;
background:linear-gradient(90deg,transparent,#fff9e188,transparent);
filter:blur(.2px);
transform:skewX(-18deg) translateX(0);
animation:sm-button-sheen 5.4s 1.2s cubic-bezier(.22,.72,.26,1) infinite
}
.button-gold>span{position:relative;z-index:1;transition:transform .3s var(--ease),text-shadow .3s}
.hero .button-gold>span{
text-shadow:0 0 0 #8d5b1f00;
animation:sm-cta-arrow 5.4s 1.2s ease-in-out infinite
}
.hero .button-gold:hover{
animation:none;
transform:translateY(-3px);
background:#f3c98f;
box-shadow:0 13px 38px #e7b47238,0 0 0 4px #e7b47214
}
.hero .button-gold:hover:after{animation:sm-button-sheen-hover .9s ease-out both}
.button-gold:hover>span,.button-gold:focus-visible>span{
animation:none;
transform:translate(4px,-3px);
text-shadow:0 4px 12px #8d5b1f4a
}
.hero .button-gold:active{
animation:none;
transform:translateY(0) scale(.985);
box-shadow:0 4px 16px #e7b47224
}
.hero .button-gold:focus-visible{box-shadow:0 10px 34px #e7b47235,0 0 0 4px #e7b47224}

/* Other conversion buttons react on intent without competing with the hero. */
#contacts .feedback-actions .button-gold:hover,
.brief-send-actions .button-gold:hover,
.compare-bar .button-gold:hover{box-shadow:0 10px 32px #e7b4722b}

.space-arrow{transition:transform .35s var(--ease),text-shadow .35s,color .35s}
.space-card:hover .space-arrow,.space-card:focus-visible .space-arrow{
color:#ffd29a;
transform:translate(4px,-4px);
text-shadow:0 5px 18px #e7b47266
}

@keyframes sm-cta-breathe{
0%,52%,100%{box-shadow:0 8px 26px #e7b4721f,0 0 0 0 #e7b47200}
68%{box-shadow:0 12px 36px #e7b47235,0 0 0 5px #e7b47212}
82%{box-shadow:0 8px 28px #e7b47224,0 0 0 0 #e7b47200}
}
@keyframes sm-button-sheen{
0%,58%{opacity:0;transform:skewX(-18deg) translateX(0)}
62%{opacity:.18}
76%{opacity:.82;transform:skewX(-18deg) translateX(610%)}
80%,100%{opacity:0;transform:skewX(-18deg) translateX(610%)}
}
@keyframes sm-button-sheen-hover{
from{opacity:0;transform:skewX(-18deg) translateX(0)}
35%{opacity:.92}
to{opacity:0;transform:skewX(-18deg) translateX(610%)}
}
@keyframes sm-cta-arrow{
0%,60%,100%{transform:translate(0,0);text-shadow:0 0 0 #8d5b1f00}
70%{transform:translate(4px,-3px);text-shadow:0 4px 12px #8d5b1f4a}
80%{transform:translate(0,0);text-shadow:0 0 0 #8d5b1f00}
}

@media(min-width:841px){.hero .hero-image{object-position:100% 50%}}
@media(max-width:480px){.hero .hero-image{object-position:61% 50%}}

/* Font-independent north-east arrow: iOS must never substitute an emoji. */
.icon-arrow-ne{
position:relative;
display:inline-block;
flex:0 0 auto;
width:1em;
height:1em;
line-height:1;
color:currentColor;
vertical-align:-.12em
}
.icon-arrow-ne:before{
content:"";
position:absolute;
left:16%;
bottom:17%;
width:92%;
height:1.5px;
background:currentColor;
border-radius:2px;
transform:rotate(-45deg);
transform-origin:left center
}
.icon-arrow-ne:after{
content:"";
position:absolute;
top:12%;
right:12%;
width:42%;
height:42%;
border-top:1.5px solid currentColor;
border-right:1.5px solid currentColor
}
.quick-pick{display:inline-flex;align-items:center;gap:8px}
.quick-pick .icon-arrow-ne{font-size:1.15em}
.space-arrow.icon-arrow-ne{position:absolute}
.photo-button:after{display:none}
.photo-open-icon{
position:absolute;
right:15px;
top:15px;
width:34px;
height:34px;
display:grid;
place-items:center;
background:#0e0e0ee8;
border:1px solid #85857566;
color:#eee;
border-radius:50%;
opacity:0;
transform:translateY(6px);
transition:opacity .3s,transform .3s
}
.photo-open-icon .icon-arrow-ne{font-size:18px}
.photo-button:hover .photo-open-icon,.photo-button:focus-visible .photo-open-icon{opacity:1;transform:none}
@media(hover:none),(pointer:coarse){.photo-open-icon{opacity:1;transform:none}}

/* Compact smart header for mobile Safari: hide down, reveal up. */
@media(max-width:840px){
html{scroll-padding-top:74px}
#site-header{
height:72px;
gap:14px;
transform:translate3d(0,0,0);
backface-visibility:hidden;
will-change:height,transform;
transition:height .28s var(--ease),transform .28s var(--ease),box-shadow .28s,background-color .28s
}
#site-header .brand{gap:12px}
#site-header .brand img{width:86px;height:53px;transition:width .28s var(--ease),height .28s var(--ease)}
#site-header .brand-text{font-size:10px;line-height:1.7;transition:font-size .28s var(--ease)}
#site-header #menu-button{width:46px;height:44px;transition:width .28s var(--ease),height .28s var(--ease),border-color .28s}
#site-header.is-scrolled{height:64px;background:#0d0d0df8;box-shadow:0 9px 28px #0008}
#site-header.is-scrolled .brand img{width:78px;height:48px}
#site-header.is-scrolled .brand-text{font-size:9px}
#site-header.is-scrolled #menu-button{width:44px;height:44px}
#site-header.is-hidden:not(:focus-within){transform:translate3d(0,-105%,0);box-shadow:none}
}
@media(max-width:480px){
.photo-open-icon{right:12px;top:12px;width:32px;height:32px}
}
@media(max-width:840px) and (prefers-reduced-motion:reduce){
#site-header{transition:none!important;will-change:auto}
#site-header.is-hidden{transform:none!important}
}
@media(max-width:840px){
.motion-off #site-header{transition:none!important;will-change:auto}
.motion-off #site-header.is-hidden{transform:none!important}
}
