/* HOMEFRONT studio frame: shared by every flagship service studio.
   Studio menu, section rhythm, section heads and the room library. Each
   studio's own stylesheet loads after this one and owns its signature modules. */
.st-wrap{width:min(1280px,90%);margin-inline:auto}
.st-section{padding-block:104px;border-top:1px solid #d7cfc2;scroll-margin-top:130px}
.st-head{display:grid;grid-template-columns:1.05fr .95fr;gap:20px 8%;align-items:end;margin-bottom:46px}
.st-head .eyebrow{grid-column:1/-1;margin:0;color:#8a6638}
.st-head h2{font:500 clamp(42px,4.6vw,70px)/1.02 Editorial,Georgia,serif;letter-spacing:-.035em;color:#1E3341;margin:0}
.st-head>p:not(.eyebrow){font:400 16px/1.8 Manrope,Arial,sans-serif;color:#53616a;margin:0;max-width:520px}

/* Studio menu */
.st-nav{position:sticky;top:0;z-index:24;background:#13232ee6;-webkit-backdrop-filter:blur(16px) saturate(1.4);backdrop-filter:blur(16px) saturate(1.4);border-block:1px solid #eaca922e;transition:top .45s cubic-bezier(.16,1,.3,1)}
.hf-header-shown .st-nav{top:66px}
.st-nav-inner{width:min(1280px,94%);margin:auto;display:flex;align-items:center;gap:26px;min-height:58px}
.st-nav-brand{font:650 10px/1.3 Manrope,Arial,sans-serif;letter-spacing:.18em;color:#FFE1AE;white-space:nowrap}
.st-nav-links{display:flex;gap:4px;overflow-x:auto;scrollbar-width:none;flex:1;mask-image:linear-gradient(90deg,#000 92%,transparent)}
.st-nav-links::-webkit-scrollbar{display:none}
.st-nav-links a{position:relative;white-space:nowrap;padding:18px 12px;color:#dfe3e0;font:550 12px/1 Manrope,Arial,sans-serif;text-decoration:none;transition:color .3s}
.st-nav-links a:after{content:"";position:absolute;left:12px;right:12px;bottom:10px;height:1px;background:#EACA92;transform:scaleX(0);transform-origin:0 50%;transition:transform .45s cubic-bezier(.16,1,.3,1)}
.st-nav-links a:hover,.st-nav-links a[aria-current]{color:#FFE1AE}
.st-nav-links a:hover:after,.st-nav-links a[aria-current]:after{transform:scaleX(1)}
.st-nav-cta{flex:0 0 auto;min-height:40px;padding:10px 18px;border-radius:999px;border:1px solid #FFE1AE;background:#FFE1AE;color:#1E3341;font:650 11px/1.2 Manrope,Arial,sans-serif;cursor:pointer;transition:background .3s}
.st-nav-cta:hover{background:#F4F0E8}

/* Room library */
.st-library-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px}
.st-guide{display:grid;gap:10px;align-content:start;padding:26px 24px 28px;border-radius:14px;border:1px solid #ddd1bf;background:#fbf8f2;color:#1E3341;text-decoration:none;transition:border-color .35s,transform .45s cubic-bezier(.16,1,.3,1),box-shadow .45s}
.st-guide:hover{border-color:#BB9259;transform:translateY(-3px);box-shadow:0 18px 34px #1e33411a}
.st-guide>span{font:650 10px/1.4 Manrope,Arial,sans-serif;letter-spacing:.16em;color:#8a6638}
.st-guide strong{font:500 23px/1.2 Editorial,Georgia,serif;letter-spacing:-.015em}
.st-guide small{font:400 13px/1.6 Manrope,Arial,sans-serif;color:#53616a}
.st-tool{background:#1E3341;border-color:#1E3341;color:#F4F0E8}
.st-tool>span{color:#EACA92}
.st-tool:hover{border-color:#EACA92}

@media(max-width:1100px){
 .st-nav-brand{display:none}
 .st-head{grid-template-columns:1fr}
 .st-library-grid{grid-template-columns:1fr 1fr}
}
@media(max-width:760px){
 .st-section{padding-block:70px}
 .st-nav-inner{gap:10px;width:100%;padding-left:4%}
 .st-nav-cta{display:none}
 .st-nav-links a{padding:17px 10px}
 .st-head h2{font-size:clamp(38px,10vw,50px)}
 .st-library-grid{grid-template-columns:1fr}
}
@media(prefers-reduced-motion:reduce){
 .st-guide,.st-nav{transition:none}
}
