/* 3.2: daylight photography, composed practice covers and visual navigation. */
.s-editorial-hero{padding:28px 0 54px;background:#ece7dd!important;color:#192521}
.s-editorial-hero .s-breadcrumbs{margin-bottom:22px!important;opacity:1;line-height:1.6}
.s-editorial-hero .s-breadcrumbs,.s-editorial-hero .s-breadcrumbs a,.s-editorial-hero .s-breadcrumbs span{color:#655e51!important}
.s-editorial-panel{display:grid;grid-template-columns:minmax(0,1.13fr) minmax(0,1fr);border:1px solid #cfc5b3;background:#fffcf5;position:relative;box-shadow:0 18px 50px #26302908}
.s-editorial-panel:before{content:"";position:absolute;left:-1px;top:-1px;width:86px;height:3px;background:#927341;z-index:2}
.s-editorial-copy{min-width:0;padding:44px 42px 36px;display:flex;flex-direction:column;justify-content:center;align-items:flex-start}
.s-editorial-copy .s-kicker{font-size:10px!important;line-height:1.6!important;letter-spacing:.12em!important;color:#806335!important;margin-bottom:20px}
body.smartoo-site .s-editorial-copy h1{font-size:clamp(32px,3.25vw,44px)!important;line-height:1.12!important;letter-spacing:-.025em!important;color:#172923!important;margin:0 0 23px!important;width:100%;text-wrap:balance}
.s-editorial-copy>p{color:#54594f!important;font-size:16px!important;line-height:1.75!important;margin:0 0 27px!important;max-width:540px}
.s-editorial-copy .s-actions{gap:17px 24px;width:100%;align-items:center}
.s-editorial-copy .s-btn{font-size:13px!important;min-height:54px;padding-inline:20px!important;gap:23px}
.s-editorial-phone{font-size:13px;font-weight:600;color:#344b3d!important;white-space:nowrap;padding:10px 0;border-bottom:1px solid #c3b694}
.s-editorial-location{font-size:10px;letter-spacing:.035em;color:#77796b;display:flex;align-items:center;gap:9px;line-height:1.6;margin-top:29px}
.s-editorial-location>span{width:5px;height:5px;border-radius:50%;background:#958357;flex:0 0 5px}
.s-editorial-visual{min-width:0;margin:0!important;display:flex;flex-direction:column;padding:14px 14px 0 0;align-self:stretch;background:#fffcf5}
.s-editorial-image{position:relative;flex:1;min-height:350px;overflow:hidden;background:#d8d6ce}
.s-editorial-image:after{content:"";position:absolute;inset:10px;border:1px solid #fffdf844;pointer-events:none}
.s-editorial-image img{display:block;position:absolute;inset:0;width:100%;height:100%!important;object-fit:cover;object-position:center;filter:none}
.s-editorial-visual--portrait .s-editorial-image img{object-position:50% 25%}
.s-editorial-visual figcaption{min-height:82px;display:flex;gap:18px;align-items:center;padding:17px 13px 17px 0;color:#2d4134;line-height:1.4}
.s-editorial-mark{font-family:Georgia,serif;font-size:44px;line-height:1;font-style:italic;color:#a18a5d;min-width:47px;position:relative;letter-spacing:-.14em}
.s-editorial-mark>span{font-size:24px;margin-left:-5px}
.s-editorial-visual figcaption>div{min-width:0;border-left:1px solid #d4c9b4;padding-left:18px}
.s-editorial-visual figcaption small{display:block;font-size:8px;letter-spacing:.12em;text-transform:uppercase;color:#847556;margin-bottom:5px}
.s-editorial-visual figcaption>div>span{display:block;font-family:Georgia,serif;font-size:19px;line-height:1.25;color:#233d2f}
.s-editorial-route{grid-column:1/-1;background:#e8e4d9;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));border-top:1px solid #d1c7b5;padding:0 28px}
.s-editorial-route>span{display:flex;align-items:center;gap:14px;padding:16px 14px;font-size:11px;line-height:1.5;color:#525b4d;min-width:0}
.s-editorial-route>span+span{border-left:1px solid #d1c7b5}
.s-editorial-route b{font-size:9px;letter-spacing:.08em;color:#947b4f;font-weight:500}

/* A shallow image band keeps desktop practices compact; narrow screens use side images. */
.s-direction-grid{grid-template-columns:repeat(4,minmax(0,1fr));gap:16px}
.s-direction.s-direction--photo{padding:0!important;display:flex;flex-direction:column;min-height:0;border-radius:2px;overflow:hidden;background:#fffdf8;box-shadow:none;transform:none}
.s-direction--photo:hover{transform:none;background:#fffdf8;border-color:#9b865b}
.s-direction__photo{position:relative;display:block;height:112px;min-height:112px;width:100%;overflow:hidden;background:#d9d5ca;flex:0 0 112px}
.s-direction .s-direction__photo img{position:static!important;display:block;inset:auto;width:100%;height:100%!important;object-fit:cover;object-position:center;filter:none;transition:transform .35s ease}
.s-direction:hover .s-direction__photo img{transform:scale(1.035)}
.s-direction__body{display:flex;flex-direction:column;flex:1;min-width:0;padding:17px 18px 15px}
.s-direction--photo .s-direction__number{font-size:9px;letter-spacing:.14em;margin-bottom:10px;color:#876c3d!important}
body.smartoo-site .s-direction--photo h3{font-size:22px!important;line-height:1.19!important;margin:0 0 10px!important;color:#1b3027!important}
body.smartoo-site .s-direction--photo p{font-size:12px!important;line-height:1.6!important;margin:0 0 15px!important;color:#626457!important}
.s-direction--photo .s-direction__footer{font-size:11px;padding-top:10px;line-height:1.4}
.s-direction--photo .s-direction__footer b{font-size:18px}

/* Individual services have a real thumbnail without a tall photo above every title. */
.s-service-card.s-service-card--photo{border-radius:3px;padding:22px;background:#fffcf5;box-shadow:none}
.s-service-card__masthead{display:grid;grid-template-columns:114px minmax(0,1fr);gap:17px;align-items:center;margin-bottom:6px}
.s-service-card__photo{display:block;width:114px;height:82px;overflow:hidden;background:#d8d4c9;border-radius:1px}
.s-service-card__photo img{display:block;width:100%;height:100%!important;object-fit:cover;filter:none;transition:transform .3s}
.s-service-card:hover .s-service-card__photo img{transform:scale(1.035)}
.s-service-card__masthead>span{font-size:9px;letter-spacing:.06em;text-transform:uppercase;color:#826940;line-height:1.65}
body.smartoo-site .s-service-card--photo h3{font-size:24px!important;line-height:1.2!important;margin-top:17px!important}
.s-service-card--photo p{font-size:13px!important;line-height:1.7!important}
.s-service-card--photo .s-text-link{font-size:12px}

/* The home page alternates broad architectural views and small document details. */
.s-home-campaign__photo img{object-position:62% 45%}
.s-home-campaign:before{background:linear-gradient(90deg,#081311ef 0%,#0b1513dc 25%,#0c151372 53%,#0c151310 100%)}
.s-home-campaign__caption{background:#122019b5;padding:16px 18px;border-top:1px solid #e2d8bb80}
.s-expertise-section{background:#14231e!important}
.s-expertise-grid{display:grid;grid-template-columns:minmax(0,.92fr) minmax(0,1fr);gap:66px;align-items:center}
.s-expertise-visual{position:relative;min-width:0;padding:0 40px 82px 0}
.s-expertise-main{margin:0!important;position:relative;border:1px solid #c9bea84d;overflow:hidden}
.s-expertise-main img{display:block;width:100%;height:auto!important;aspect-ratio:4/5;object-fit:cover}
.s-expertise-detail{position:absolute;right:0;bottom:0;width:63%;margin:0!important;border:9px solid #14231e;box-shadow:0 15px 30px #08150f25}
.s-expertise-detail img{display:block;width:100%;height:auto!important;aspect-ratio:3/2;object-fit:cover}
.s-expertise-detail figcaption{padding:12px 14px;background:#e9e2d3;color:#506044;font-size:10px;line-height:1.5;letter-spacing:.02em}
.s-expertise-copy{min-width:0}
.s-expertise-copy .s-section-head{margin-bottom:25px}
body.smartoo-site .s-expertise-copy .s-section-head h2{font-size:38px!important;line-height:1.13!important}
.s-expertise-copy .s-section-head>p{font-size:15px!important;line-height:1.75!important;color:#c2c9bd!important}
.s-expertise-copy .s-proof-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:0 26px}
.s-expertise-copy .s-proof{background:transparent!important;border:0;border-top:1px solid #c7c2a53b;border-radius:0;box-shadow:none;padding:19px 0;min-height:0}
body.smartoo-site .s-expertise-copy .s-proof h3{font-family:inherit!important;font-size:14px!important;letter-spacing:0!important;line-height:1.45!important;color:#f1e6ce!important;margin-bottom:8px!important}
.s-expertise-copy .s-proof p{font-size:12px!important;line-height:1.65!important;color:#afbbae!important;margin:0!important}

.s-source-process-card.s-source-process-card--photo{display:flex;flex-direction:column;border-radius:3px;background:#fffcf5;min-height:0}
.s-source-process-card--photo figure{min-height:0;height:132px;flex:0 0 132px;margin:0!important;overflow:hidden}
.s-source-process-card--photo figure img{display:block;width:100%;height:100%!important;object-fit:cover;filter:none}
.s-source-process-card--photo>div{padding:21px 20px}
.s-source-process-card--photo b{margin-bottom:15px;font-size:10px}
body.smartoo-site .s-source-process-card--photo h3{font-size:23px!important;line-height:1.2!important}
.s-source-process-card--photo p{font-size:13px!important;line-height:1.65!important}
.s-source-story__media{position:relative;border-radius:2px;border:1px solid #c9bc9f;padding:12px;background:#f4ede0}
.s-source-story__media:after{content:"";position:absolute;left:0;bottom:0;width:70px;height:3px;background:#967945}
.s-source-story__media img{aspect-ratio:4/3;object-fit:cover}
.s-project.s-project--photo{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,.9fr);gap:52px;padding:0;border:1px solid #cec2ac;background:#eae4d7;overflow:hidden}
.s-project--photo figure{margin:0!important;align-self:stretch;min-height:340px;position:relative}
.s-project--photo figure img{display:block;position:absolute;inset:0;width:100%;height:100%!important;object-fit:cover}
.s-project--photo>div{max-width:none;padding:36px 40px 36px 0;min-width:0}
.s-project--photo p{font-size:16px!important;margin:0 0 25px}
.s-project--photo .s-btn{font-size:12px!important}

@media(max-width:1100px){
 .s-editorial-copy{padding:32px 28px}
 body.smartoo-site .s-editorial-copy h1{font-size:36px!important}
 .s-editorial-image{min-height:350px}
 .s-editorial-copy>p{font-size:15px!important}
 .s-expertise-grid{gap:35px}
 .s-expertise-copy .s-proof-grid{gap:0 18px}
 .s-expertise-visual{padding-right:20px}
 body.smartoo-site .s-expertise-copy .s-section-head h2{font-size:34px!important}
 .s-direction-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
 .s-direction.s-direction--photo{display:grid;grid-template-columns:120px minmax(0,1fr)}
 .s-direction__photo{width:100%;height:100%;min-height:100%;flex:auto}
 .s-direction .s-direction__photo img{position:absolute!important;inset:0}
 body.smartoo-site .s-direction--photo h3{font-size:24px!important}
 .s-project.s-project--photo{gap:35px}
 .s-project--photo>div{padding-right:28px}
}
@media(max-width:900px){
 .s-expertise-grid{grid-template-columns:minmax(0,1fr);gap:32px}
 .s-expertise-visual{padding:0 18% 48px 0;max-width:740px}
 .s-expertise-main img{aspect-ratio:16/9}
 .s-expertise-detail{width:40%;right:0;border-width:7px}
 .s-expertise-detail img{aspect-ratio:3/2}
 .s-expertise-copy .s-proof-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:0 25px}
 .s-project.s-project--photo{gap:26px}
 .s-project--photo>div{padding:28px 24px 28px 0}
}
@media(max-width:800px){
 .s-editorial-hero{padding:24px 0 38px}
 .s-editorial-panel{grid-template-columns:minmax(0,1fr)}
 .s-editorial-copy{padding:30px}
 body.smartoo-site .s-editorial-copy h1{font-size:38px!important;max-width:650px}
 .s-editorial-copy>p{max-width:650px}
 .s-editorial-location{margin-top:20px}
 .s-editorial-visual{padding:0 14px;margin:0!important}
 .s-editorial-image{min-height:0;aspect-ratio:16/8}
 .s-editorial-visual--portrait .s-editorial-image{aspect-ratio:4/3}
 .s-editorial-visual--portrait .s-editorial-image img{object-fit:contain}
 .s-editorial-visual figcaption{min-height:76px;padding-block:13px}
 .s-editorial-route{padding-inline:12px}
 .s-editorial-route>span{gap:10px;padding:14px 12px;font-size:11px}
 .s-editorial-visual figcaption>div>span{font-size:18px}
 .s-direction.s-direction--photo{grid-template-columns:95px minmax(0,1fr)}
 .s-direction__body{padding:16px}
 body.smartoo-site .s-direction--photo h3{font-size:22px!important}
 .s-source-process-card--photo figure{height:150px;flex-basis:150px}
 .s-project.s-project--photo{grid-template-columns:minmax(0,1fr);gap:0}
 .s-project--photo figure{min-height:0;aspect-ratio:16/8}
 .s-project--photo>div{padding:28px}
 .s-project--photo .s-btn{width:auto}
}
@media(max-width:620px){
 .s-editorial-hero{padding:20px 0 32px}
 .s-editorial-hero .s-breadcrumbs{font-size:10px!important;margin-bottom:16px!important}
 .s-editorial-copy{padding:26px 22px 25px}
 body.smartoo-site .s-editorial-copy h1{font-size:32px!important;line-height:1.13!important;margin-bottom:18px!important}
 .s-editorial-copy .s-kicker{font-size:9px!important;margin-bottom:14px}
 .s-editorial-copy>p{font-size:15px!important;line-height:1.7!important;margin-bottom:23px!important}
 .s-editorial-copy .s-actions{display:flex;gap:12px;align-items:flex-start;flex-direction:column}
 .s-editorial-copy .s-btn{font-size:12px!important;padding-inline:16px!important;min-height:52px;gap:18px;width:100%}
 .s-editorial-phone{font-size:13px;padding-block:7px}
 .s-editorial-location{font-size:9px;margin-top:16px}
 .s-editorial-visual{padding-inline:9px}
 .s-editorial-image{aspect-ratio:3/2}
 .s-editorial-image:after{inset:7px}
 .s-editorial-visual figcaption{gap:13px;padding:14px 4px;min-height:75px}
 .s-editorial-mark{font-size:36px;min-width:37px}
 .s-editorial-mark>span{font-size:20px}
 .s-editorial-visual figcaption>div{padding-left:13px}
 .s-editorial-visual figcaption small{font-size:7px;letter-spacing:.09em}
 .s-editorial-visual figcaption>div>span{font-size:17px;line-height:1.35}
 .s-editorial-route{padding:0 17px;grid-template-columns:minmax(0,1fr)}
 .s-editorial-route>span{padding:10px 0;font-size:11px;gap:16px}
 .s-editorial-route>span+span{border-left:0;border-top:1px solid #d2c8b5}
 .s-direction-grid{grid-template-columns:minmax(0,1fr);gap:12px}
 .s-direction.s-direction--photo{grid-template-columns:100px minmax(0,1fr)}
 .s-direction__body{padding:17px 17px 14px}
 .s-direction--photo .s-direction__number{font-size:9px;margin-bottom:9px}
 body.smartoo-site .s-direction--photo h3{font-size:23px!important;line-height:1.2!important}
 body.smartoo-site .s-direction--photo p{font-size:12px!important;margin-bottom:13px!important}
 .s-direction--photo .s-direction__footer{font-size:11px;padding-top:9px}
 .s-service-card.s-service-card--photo{padding:20px}
 .s-service-card__masthead{grid-template-columns:106px minmax(0,1fr);gap:16px}
 .s-service-card__photo{width:106px;height:80px}
 .s-service-card__masthead>span{font-size:9px;line-height:1.6}
 body.smartoo-site .s-service-card--photo h3{font-size:24px!important}
 .s-expertise-visual{padding-bottom:42px}
 .s-expertise-detail{width:46%;border-width:6px}
 .s-expertise-main img{aspect-ratio:4/3}
 .s-expertise-detail figcaption{font-size:8px;padding:8px}
 .s-expertise-copy .s-proof-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:0 18px}
 body.smartoo-site .s-expertise-copy .s-section-head h2{font-size:32px!important}
 .s-expertise-copy .s-proof{padding:16px 0}
 body.smartoo-site .s-expertise-copy .s-proof h3{font-size:13px!important}
 .s-expertise-copy .s-proof p{font-size:11px!important}
 .s-source-process-grid{grid-template-columns:minmax(0,1fr)}
 .s-source-process-card.s-source-process-card--photo{display:grid;grid-template-columns:92px minmax(0,1fr)}
 .s-source-process-card--photo figure{height:auto;min-height:100%;position:relative}
 .s-source-process-card--photo figure img{position:absolute;inset:0}
 .s-source-process-card--photo>div{padding:20px 17px}
 body.smartoo-site .s-source-process-card--photo h3{font-size:23px!important}
 .s-source-process-card--photo p{font-size:12px!important}
 .s-source-process-card--photo b{margin-bottom:10px}
 .s-source-story__media{padding:8px}
 .s-project--photo>div{padding:26px 22px}
 .s-home-campaign__photo img{object-position:70% 50%;opacity:.78}
 .s-home-campaign:before{background:linear-gradient(90deg,#081510dd,#08151065),linear-gradient(0deg,#081510f5,transparent 80%)}
}
@media(max-width:360px){
 .s-editorial-copy{padding:23px 17px}
 body.smartoo-site .s-editorial-copy h1{font-size:29px!important}
 .s-direction.s-direction--photo{grid-template-columns:80px minmax(0,1fr)}
 .s-direction__body{padding:15px 13px}
 body.smartoo-site .s-direction--photo h3{font-size:21px!important}
 .s-service-card__masthead{grid-template-columns:88px minmax(0,1fr);gap:13px}
 .s-service-card__photo{width:88px;height:74px}
 .s-service-card__masthead>span{font-size:8px}
 .s-source-process-card.s-source-process-card--photo{grid-template-columns:76px minmax(0,1fr)}
 .s-expertise-copy .s-proof-grid{grid-template-columns:minmax(0,1fr)}
}
@media(prefers-reduced-motion:reduce){.s-direction .s-direction__photo img,.s-service-card__photo img{transition:none;transform:none!important}}
