/* 3.5 — spacious photo cards, project hubs and a shared consultation dialog. */
.s-direction-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:26px}
.s-direction.s-direction--photo{display:flex;flex-direction:column;grid-template-columns:none;min-height:470px;border-radius:3px}
.s-direction__photo{width:100%;height:auto;min-height:0;aspect-ratio:16/10;flex:none}
.s-direction .s-direction__photo img{position:static!important;inset:auto;width:100%;height:100%!important}
.s-direction__body{padding:26px 27px 24px}
body.smartoo-site .s-direction--photo h3{font-size:28px!important;line-height:1.16!important;margin-bottom:15px!important}
body.smartoo-site .s-direction--photo p{font-size:15px!important;line-height:1.65!important;margin-bottom:25px!important}
.s-direction--photo .s-direction__number{font-size:11px;margin-bottom:14px}
.s-direction--photo .s-direction__footer{font-size:13px;padding-top:18px;min-height:44px;margin-top:auto}
.s-source-process-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:28px}
.s-source-process-card.s-source-process-card--photo{display:flex;flex-direction:column;grid-template-columns:none;min-height:0;border:1px solid #d7cdbb}
.s-source-process-card--photo figure{width:100%;height:auto;min-height:0;aspect-ratio:16/8;flex:none}
.s-source-process-card--photo>div{padding:29px 32px 32px}
body.smartoo-site .s-source-process-card--photo h3{font-size:29px!important;line-height:1.2!important}
.s-source-process-card--photo p{font-size:15px!important;line-height:1.75!important;margin-bottom:0!important}
.s-service-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:28px}
.s-service-card.s-service-card--photo{padding:0 28px 27px;overflow:hidden;border:1px solid #d7cdbb}
.s-service-card__masthead{display:flex;flex-direction:column;align-items:stretch;gap:21px;margin:0 -28px 4px}
.s-service-card__photo{width:100%;height:auto;aspect-ratio:16/8}
.s-service-card__masthead>span{padding:0 28px;font-size:11px}
body.smartoo-site .s-service-card--photo h3{font-size:29px!important;line-height:1.2!important;margin-top:12px!important}
.s-service-card--photo p{font-size:15px!important;line-height:1.7!important}
.s-service-card--photo .s-text-link{font-size:13px;margin-top:auto}
.s-project-types{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:28px}
.s-project-type{display:flex;flex-direction:column;min-width:0;color:#22382c!important;border:1px solid #d0c3ae;background:#fffcf5;transition:border-color .2s}
.s-project-type:hover{border-color:#8b713e}
.s-project-type figure{margin:0!important;aspect-ratio:16/9;overflow:hidden}
.s-project-type img{width:100%;height:100%!important;object-fit:cover;display:block}
.s-project-type>div{padding:30px;flex:1;display:flex;flex-direction:column;align-items:flex-start}
body.smartoo-site .s-project-type h3{font-size:31px!important;line-height:1.2!important;margin:14px 0!important}
.s-project-type p{font-size:15px;line-height:1.75;color:#5a6055;margin-bottom:25px}
.s-project-type .s-text-link{margin-top:auto}
.s-contact-editorial{display:grid;grid-template-columns:minmax(0,1.1fr) minmax(0,.9fr);gap:0;border:1px solid #cfc5b2;background:#fffcf5}
.s-contact-editorial__main{min-width:0;padding:44px}
.s-contact-editorial__office{min-width:0;padding:44px;background:#e8e2d5;border-left:1px solid #cfc5b2}
body.smartoo-site .s-contact-editorial h2{font-size:34px!important;line-height:1.2!important;margin:18px 0 25px!important}
.s-contact-editorial__phone{display:block;font-size:clamp(23px,2.3vw,33px);line-height:1.3;font-weight:500;white-space:nowrap;color:#284032!important;margin-bottom:15px}
.s-contact-editorial__mail{display:block;font-size:18px;color:#806238!important;margin:10px 0;overflow-wrap:anywhere}
.s-contact-editorial p,.s-contact-editorial address{font-size:16px!important;line-height:1.8!important;font-style:normal;color:#596153}
.s-contact-editorial__main>p{margin:25px 0!important}
.s-contact-editorial__office address{color:#253b2e;font-size:19px!important}
.s-contact-editorial .s-contact-actions{margin-top:20px;gap:20px}
.s-company-details{grid-column:1/-1;border-top:1px solid #cfc5b2;padding:0 36px}
.s-company-details summary{padding:22px 8px;font-size:14px;font-weight:600;cursor:pointer;color:#41503f;min-height:44px}
.s-company-details dl{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:20px;padding:10px 8px 24px;margin:0}
.s-company-details dt{font-size:11px;color:#736546;margin-bottom:7px}
.s-company-details dd{font-size:13px;margin:0;overflow-wrap:anywhere}
.s-consultation-dialog:not([open]){display:none}
.s-consultation-dialog{box-sizing:border-box;position:fixed;inset:0;width:min(680px,calc(100% - 40px));max-width:680px;max-height:calc(var(--s-dialog-height,100vh) - 48px);margin:auto;padding:0;overflow:auto;overscroll-behavior:contain;-webkit-overflow-scrolling:touch;background:#17231f;color:#f6f0e4;border:1px solid #a68c57;border-radius:6px;box-shadow:0 32px 100px #0008;z-index:1000001;scrollbar-gutter:stable}
.s-consultation-dialog::backdrop{background:#08120fde;backdrop-filter:blur(5px)}
.s-consultation-dialog__head{padding:32px 34px 0;position:relative}
.s-consultation-dialog__head>div{padding-right:34px}
.s-consultation-dialog .s-kicker{font-size:10px!important;color:#d8bc7f!important;line-height:1.6!important}
body.smartoo-site .s-consultation-dialog h2{font-size:34px!important;line-height:1.14!important;color:#fff8e9!important;margin:15px 0!important;hyphens:none!important;word-break:normal!important;overflow-wrap:normal!important}
.s-consultation-dialog__head p{font-size:14px!important;line-height:1.7!important;color:#cad1c6!important;margin:0!important}
.s-consultation-dialog__close{position:absolute;top:16px;right:14px;display:grid;place-items:center;width:44px;height:44px;padding:0!important;border:1px solid #b39c6c55!important;background:transparent!important;color:#f4e9d4!important;border-radius:50%;font:30px/1 Arial!important;cursor:pointer}
.s-consultation-dialog .s-form{margin:0;padding:24px 34px 32px!important;border:0!important;box-shadow:none;background:transparent!important;border-radius:0;opacity:1!important;transform:none!important;transition:none!important;display:grid;gap:18px}
.s-consultation-dialog .s-form>label,.s-consultation-dialog .s-form__row{margin:0!important}
.s-consultation-dialog .s-form__row{gap:18px}
.s-consultation-dialog .s-form label{color:#f3efdf!important;font-size:13px!important}
.s-consultation-dialog .s-form input:not([type=checkbox]),.s-consultation-dialog .s-form textarea{font-size:16px!important;max-width:100%;min-width:0;box-sizing:border-box;background:#ffffff0c!important;color:#fff!important;border-color:#ffffff3b!important}
.s-consultation-dialog .s-form textarea{min-height:100px;height:100px}
.s-consultation-dialog .s-form input[type=file]{font-size:12px!important}
.s-consultation-dialog .s-form__notice{margin:0!important}
.s-consultation-dialog .s-file{padding:14px}
.s-consultation-dialog .s-check{font-size:11px!important;line-height:1.6!important;align-items:flex-start}
.s-consultation-dialog .s-check a{color:#dfc68d!important}
.s-consultation-dialog .s-hp{position:absolute!important;left:-10000px!important;width:1px!important;height:1px!important;overflow:hidden!important}
.s-consultation-dialog :focus-visible{outline:2px solid #e6c773;outline-offset:4px}
.s-consultation-open{overflow:hidden}
.s-consultation-dialog[open]{animation:s-consultation-enter .18s ease-out}
@keyframes s-consultation-enter{from{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}
@media(min-width:701px) and (max-width:1100px){.s-direction-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.s-direction.s-direction--photo{min-height:430px}.s-contact-editorial__main,.s-contact-editorial__office{padding:30px}}
@media(max-width:700px){
 .s-direction-grid,.s-source-process-grid,.s-service-grid,.s-project-types{grid-template-columns:minmax(0,1fr);gap:22px}
 .s-direction.s-direction--photo{display:flex;min-height:0;width:100%;max-width:none}
 .s-direction__photo{height:auto;min-height:0;aspect-ratio:16/9}
 .s-direction__body{padding:24px}
 body.smartoo-site .s-direction--photo h3{font-size:29px!important}
 body.smartoo-site .s-direction--photo p{font-size:15px!important;margin-bottom:22px!important}
 .s-source-process-card.s-source-process-card--photo{display:flex;grid-template-columns:none;width:100%}
 .s-source-process-card--photo figure{height:auto;aspect-ratio:16/9;flex:none}
 .s-source-process-card--photo>div{padding:25px 24px}
 body.smartoo-site .s-source-process-card--photo h3{font-size:27px!important}
 .s-service-card.s-service-card--photo{padding:0 23px 24px}
 .s-service-card__masthead{margin-inline:-23px}
 .s-service-card__masthead>span{padding-inline:23px}
 .s-service-card__photo{width:100%;height:auto;aspect-ratio:16/9}
 body.smartoo-site .s-service-card--photo h3{font-size:27px!important}
 .s-project-type>div{padding:25px}
 body.smartoo-site .s-project-type h3{font-size:28px!important}
 .s-contact-editorial{grid-template-columns:minmax(0,1fr)}
 .s-contact-editorial__main,.s-contact-editorial__office{padding:29px 24px}
 .s-contact-editorial__office{border-left:0;border-top:1px solid #cfc5b2}
 body.smartoo-site .s-contact-editorial h2{font-size:29px!important}
 .s-contact-editorial__mail{font-size:16px}
 .s-company-details{padding-inline:18px}
 .s-company-details dl{grid-template-columns:repeat(2,minmax(0,1fr))}
 .s-consultation-dialog{width:calc(100% - 20px);max-height:calc(var(--s-dialog-height,100vh) - 24px - env(safe-area-inset-top) - env(safe-area-inset-bottom));border-radius:5px}
 .s-consultation-dialog__head{padding:25px 20px 0}
 .s-consultation-dialog__head>div{padding-right:24px}
 body.smartoo-site .s-consultation-dialog h2{font-size:29px!important}
 .s-consultation-dialog__close{right:8px;top:8px}
 .s-consultation-dialog .s-form{padding:22px 20px 24px!important;gap:17px}
 .s-consultation-dialog .s-form__row{grid-template-columns:minmax(0,1fr)}
 .s-consultation-dialog .s-form .s-btn{white-space:normal;font-size:13px!important;min-height:52px}
}
@media(max-width:360px){.s-direction__body,.s-source-process-card--photo>div{padding:22px 18px}.s-consultation-dialog__head,.s-consultation-dialog .s-form{padding-left:16px!important;padding-right:16px!important}.s-contact-editorial__phone{font-size:22px}}
@media(prefers-reduced-motion:reduce){.s-consultation-dialog[open]{animation:none}}

.s-consultation-fallback:before{content:"";position:fixed;inset:0;background:#08120fde;z-index:1000000}

/* Theme form defaults must not add a second layer of spacing inside the dialog. */
.s-consultation-dialog .s-form__row label{margin:0!important}
.s-consultation-dialog .s-form input:not([type=checkbox]),.s-consultation-dialog .s-form textarea{margin-bottom:0!important}
.s-consultation-dialog__tools{position:sticky;top:0;height:0;z-index:3}
.s-consultation-dialog__close{background:#17231f!important}
