/* =============================================================
   One Side Studio — Main Stylesheet
   Design: cinematic, editorial, brutalist-flat
   Palette: #080808 / #121212 / #E05A33 / #F4F0E6 / #A3A098
   Type:    Clash Display · Manrope · JetBrains Mono
   ============================================================= */

*,*::before,*::after{box-sizing:border-box}
html{scroll-behavior:smooth;-webkit-text-size-adjust:100%}
body{
	margin:0;
	background:#080808;
	color:#F4F0E6;
	font-family:'Manrope',system-ui,sans-serif;
	font-weight:400;
	font-size:16px;
	line-height:1.6;
	-webkit-font-smoothing:antialiased;
	-moz-osx-font-smoothing:grayscale;
	overflow-x:hidden;
}
img{max-width:100%;height:auto;display:block}
a{color:inherit;text-decoration:none;transition:color .25s ease,opacity .25s ease}
a:hover{color:#E05A33}
button{font-family:inherit;cursor:pointer;border:0;background:none;color:inherit}

::selection{background:#E05A33;color:#F4F0E6}

/* Focus */
:focus-visible{outline:2px solid #E05A33;outline-offset:3px}

/* Skip link */
.oss-skip-link{
	position:absolute;left:-9999px;top:0;z-index:1000;
	background:#E05A33;color:#F4F0E6;padding:12px 20px;
	font-family:'JetBrains Mono',monospace;font-size:12px;letter-spacing:.15em;
	text-transform:uppercase;
}
.oss-skip-link:focus{left:16px;top:16px}

/* Screen-reader */
.oss-sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);border:0}

/* =========================================================
   Typography utilities
   ========================================================= */
.oss-eyebrow{
	font-family:'JetBrains Mono',monospace;
	font-size:12px;letter-spacing:.22em;text-transform:uppercase;
	color:#A3A098;margin:0 0 20px;font-weight:500;
}
.oss-mono{font-family:'JetBrains Mono',monospace;font-size:13px;letter-spacing:.04em;line-height:1.7}
.oss-accent{color:#E05A33}
.oss-body{font-size:17px;line-height:1.7;color:#C4C0B6;margin:0 0 1em;max-width:62ch}
.oss-lead{font-size:clamp(18px,1.4vw,22px);line-height:1.55;color:#D6D2C7;max-width:65ch;margin:0 0 32px;font-weight:400}

.oss-display{
	font-family:'Clash Display','Clash Display Placeholder',Georgia,serif;
	font-weight:600;letter-spacing:-.025em;line-height:.94;
	font-size:clamp(48px,8.5vw,140px);
	color:#F4F0E6;margin:0 0 32px;
}
.oss-display-sm{
	font-family:'Clash Display',Georgia,serif;
	font-weight:600;letter-spacing:-.02em;line-height:1;
	font-size:clamp(36px,5vw,72px);
	color:#F4F0E6;margin:0 0 24px;
}
.oss-heading-lg{
	font-family:'Clash Display',Georgia,serif;
	font-weight:600;letter-spacing:-.015em;line-height:1.1;
	font-size:clamp(24px,2.5vw,34px);
	color:#F4F0E6;margin:0 0 16px;
}
.oss-heading-md{
	font-family:'Clash Display',Georgia,serif;
	font-weight:500;letter-spacing:-.01em;line-height:1.15;
	font-size:clamp(20px,1.8vw,24px);
	color:#F4F0E6;margin:0 0 8px;
}
.oss-link{
	display:inline-flex;align-items:center;gap:6px;
	font-family:'JetBrains Mono',monospace;font-size:13px;
	letter-spacing:.12em;text-transform:uppercase;
	border-bottom:1px solid #262626;padding-bottom:4px;
	color:#F4F0E6;transition:border-color .25s ease,color .25s ease;
}
.oss-link:hover{border-color:#E05A33;color:#E05A33}

/* =========================================================
   Buttons
   ========================================================= */
.oss-btn{
	display:inline-flex;align-items:center;justify-content:center;gap:8px;
	font-family:'JetBrains Mono',monospace;
	font-size:12px;letter-spacing:.15em;text-transform:uppercase;font-weight:500;
	padding:18px 32px;border-radius:0;border:1px solid transparent;
	transition:background-color .25s ease,color .25s ease,border-color .25s ease,transform .25s ease;
	white-space:nowrap;cursor:pointer;
}
.oss-btn--primary{background:#E05A33;color:#F4F0E6;border-color:#E05A33}
.oss-btn--primary:hover{background:#C94B26;border-color:#C94B26;color:#F4F0E6}
.oss-btn--ghost{background:transparent;color:#F4F0E6;border-color:#262626}
.oss-btn--ghost:hover{border-color:#E05A33;color:#E05A33}
.oss-btn-group{display:flex;flex-wrap:wrap;gap:14px;margin-top:16px}

/* =========================================================
   Header
   ========================================================= */
.oss-header{
	position:fixed;top:0;left:0;right:0;z-index:100;
	background:rgba(8,8,8,.75);backdrop-filter:blur(18px);-webkit-backdrop-filter:blur(18px);
	border-bottom:1px solid #1a1a1a;
}
.oss-header__inner{
	max-width:1720px;margin:0 auto;
	display:flex;align-items:center;justify-content:space-between;
	padding:22px 32px;gap:32px;
}
.oss-logo{display:flex;align-items:center;gap:12px;color:#F4F0E6}
.oss-logo__mark{display:inline-flex;color:#F4F0E6}
.oss-logo__text{display:flex;flex-direction:column;line-height:.95}
.oss-logo__line1{font-family:'Clash Display',serif;font-weight:600;font-size:17px;letter-spacing:.02em}
.oss-logo__line2{font-family:'JetBrains Mono',monospace;font-size:10px;letter-spacing:.32em;color:#A3A098;margin-top:2px}
.oss-logo:hover{color:#E05A33}
.oss-logo:hover .oss-logo__line2{color:#E05A33}

.oss-nav__list{
	list-style:none;margin:0;padding:0;
	display:flex;gap:32px;align-items:center;
}
.oss-nav__list a{
	font-family:'JetBrains Mono',monospace;font-size:12px;
	letter-spacing:.18em;text-transform:uppercase;color:#F4F0E6;
	position:relative;padding:6px 0;
}
.oss-nav__list a::after{
	content:"";position:absolute;left:0;right:100%;bottom:0;height:1px;background:#E05A33;
	transition:right .3s ease;
}
.oss-nav__list a:hover{color:#E05A33}
.oss-nav__list a:hover::after{right:0}

.oss-menu-toggle{
	display:none;width:36px;height:36px;
	flex-direction:column;justify-content:center;gap:5px;align-items:flex-end;
}
.oss-menu-toggle span{display:block;width:24px;height:1.5px;background:#F4F0E6;transition:transform .3s,opacity .3s}
.oss-menu-toggle[aria-expanded="true"] span:nth-child(1){transform:translateY(6.5px) rotate(45deg)}
.oss-menu-toggle[aria-expanded="true"] span:nth-child(2){opacity:0}
.oss-menu-toggle[aria-expanded="true"] span:nth-child(3){transform:translateY(-6.5px) rotate(-45deg)}

.oss-main{padding-top:82px}

/* =========================================================
   Reveal animation
   ========================================================= */
[data-reveal]{opacity:0;transform:translateY(28px);transition:opacity .9s cubic-bezier(.2,.7,.2,1),transform .9s cubic-bezier(.2,.7,.2,1)}
[data-reveal].is-visible{opacity:1;transform:none}

/* =========================================================
   Hero (home)
   ========================================================= */
.oss-hero{
	position:relative;min-height:100vh;
	display:flex;align-items:flex-end;
	padding:64px 32px 80px;overflow:hidden;
}
.oss-hero__media{position:absolute;inset:0;z-index:0}
.oss-hero__media img{width:100%;height:100%;object-fit:cover;animation:oss-kenburns 18s ease-out both}
.oss-hero__overlay{
	position:absolute;inset:0;
	background:
		radial-gradient(ellipse at 30% 100%, rgba(224,90,51,.18), transparent 55%),
		linear-gradient(to top, rgba(8,8,8,.96) 0%, rgba(8,8,8,.55) 45%, rgba(8,8,8,.25) 75%, rgba(8,8,8,.65) 100%);
}
@keyframes oss-kenburns{from{transform:scale(1.02)}to{transform:scale(1.12)}}

.oss-hero__inner{position:relative;z-index:2;max-width:1720px;margin:0 auto;width:100%;padding:0 0 24px}
.oss-hero__title{font-size:clamp(56px,10vw,168px);margin-bottom:28px;max-width:14ch}
.oss-hero__meta{
	list-style:none;padding:0;margin:56px 0 0;
	display:flex;flex-wrap:wrap;gap:40px;
	border-top:1px solid #262626;padding-top:28px;
}
.oss-hero__meta li{display:flex;align-items:baseline;gap:12px;font-family:'JetBrains Mono',monospace;font-size:13px;letter-spacing:.1em;text-transform:uppercase;color:#A3A098}
.oss-hero__meta .oss-mono{color:#E05A33;font-size:12px}
.oss-hero__scroll{
	position:absolute;bottom:28px;left:50%;transform:translateX(-50%);
	z-index:3;width:1px;height:60px;background:#262626;overflow:hidden;
}
.oss-hero__scroll span{display:block;width:100%;height:30%;background:#E05A33;animation:oss-scroll 2s ease-in-out infinite}
@keyframes oss-scroll{0%{transform:translateY(-100%)}100%{transform:translateY(300%)}}

/* =========================================================
   Sections
   ========================================================= */
.oss-section{padding:clamp(80px,12vw,180px) 32px;max-width:1720px;margin:0 auto}
.oss-section--narrow{max-width:980px}
.oss-section__head{margin-bottom:clamp(40px,5vw,72px);max-width:60ch}
.oss-section__head--between{display:flex;justify-content:space-between;align-items:flex-end;gap:32px;max-width:none;flex-wrap:wrap}

/* Intro */
.oss-intro__grid{display:grid;grid-template-columns:1fr;gap:56px;align-items:end}
.oss-intro__image img{width:100%;height:100%;object-fit:cover;aspect-ratio:4/5;filter:contrast(1.05) saturate(.95)}
@media(min-width:900px){
	.oss-intro__grid{grid-template-columns:1.1fr .9fr;gap:clamp(48px,8vw,120px)}
}

/* Services grid */
.oss-services__grid{display:grid;grid-template-columns:1fr;gap:1px;background:#262626;border:1px solid #262626}
@media(min-width:700px){.oss-services__grid{grid-template-columns:1fr 1fr}}
@media(min-width:1200px){.oss-services__grid{grid-template-columns:repeat(4,1fr)}}
.oss-service-card{background:#080808;padding:clamp(32px,3vw,48px);display:flex;flex-direction:column;gap:12px;transition:background-color .3s ease}
.oss-service-card:hover{background:#121212}
.oss-service-card .oss-link{margin-top:auto;padding-top:24px}

/* Feature split */
.oss-feature-split{
	display:grid;grid-template-columns:1fr;gap:56px;
	padding:clamp(80px,12vw,160px) 32px;max-width:1720px;margin:0 auto;align-items:center;
}
@media(min-width:900px){
	.oss-feature-split{grid-template-columns:1fr 1fr;gap:clamp(48px,6vw,100px)}
}
.oss-feature-split__image img{width:100%;aspect-ratio:4/5;object-fit:cover}
.oss-feature-split--tight{padding:clamp(60px,8vw,120px) 32px}
.oss-bullets{list-style:none;padding:0;margin:28px 0 0;display:grid;gap:12px}
.oss-bullets li{display:flex;gap:14px;color:#C4C0B6;font-size:16px;line-height:1.55}
.oss-bullets .oss-mono{color:#E05A33;font-size:14px;margin-top:2px}

/* Marquee */
.oss-marquee-wrap{
	border-top:1px solid #1a1a1a;border-bottom:1px solid #1a1a1a;
	padding:32px 0;background:#080808;overflow:hidden;
}
.oss-marquee{overflow:hidden;width:100%}
.oss-marquee__track{
	display:flex;white-space:nowrap;gap:48px;
	animation:oss-marquee 55s linear infinite;will-change:transform;
}
.oss-marquee__item{
	font-family:'JetBrains Mono',monospace;font-size:16px;
	letter-spacing:.2em;text-transform:uppercase;color:#A3A098;flex-shrink:0;
}
@keyframes oss-marquee{from{transform:translateX(0)}to{transform:translateX(-50%)}}

/* Portfolio tease */
.oss-portfolio-tease__grid{display:grid;grid-template-columns:1fr;gap:24px}
@media(min-width:700px){.oss-portfolio-tease__grid{grid-template-columns:repeat(3,1fr)}}
.oss-portfolio-card{display:block;position:relative;overflow:hidden;background:#121212}
.oss-portfolio-card img{width:100%;aspect-ratio:4/5;object-fit:cover;transition:transform .8s cubic-bezier(.2,.7,.2,1),filter .4s}
.oss-portfolio-card:hover img{transform:scale(1.06);filter:brightness(.85)}
.oss-portfolio-card__meta{padding:20px 24px 24px;border-top:1px solid #1a1a1a}
.oss-portfolio-card__meta .oss-mono{color:#A3A098;display:block;margin-bottom:6px;font-size:11px;letter-spacing:.22em;text-transform:uppercase}
.oss-portfolio-card__meta h4{font-family:'Clash Display',serif;font-size:18px;font-weight:500;margin:0;color:#F4F0E6}
.oss-portfolio-card__meta em{font-style:italic;color:#A3A098;font-weight:400}

/* =========================================================
   Page hero (sub pages)
   ========================================================= */
.oss-page-hero{
	display:grid;grid-template-columns:1fr;gap:48px;
	padding:clamp(80px,10vw,140px) 32px 64px;max-width:1720px;margin:0 auto;align-items:end;
}
.oss-page-hero__inner .oss-display{font-size:clamp(44px,7vw,108px)}
.oss-page-hero__image img{width:100%;aspect-ratio:5/4;object-fit:cover}
@media(min-width:900px){.oss-page-hero{grid-template-columns:1.2fr 1fr;gap:clamp(40px,5vw,80px)}}
.oss-page-hero--text{grid-template-columns:1fr;max-width:1200px;padding-top:clamp(100px,12vw,180px);padding-bottom:clamp(40px,5vw,80px)}
.oss-page-hero--text .oss-display{max-width:14ch}

/* About split */
.oss-about-split{display:grid;grid-template-columns:1fr;gap:56px}
@media(min-width:1000px){.oss-about-split{grid-template-columns:.9fr 1.4fr;gap:clamp(48px,6vw,100px)}}
.oss-about-split__sticky{position:sticky;top:120px;align-self:start}
.oss-figure{margin:48px 0}
.oss-figure img{width:100%;aspect-ratio:16/10;object-fit:cover}
.oss-figure figcaption{margin-top:12px;color:#A3A098;font-size:11px;letter-spacing:.22em;text-transform:uppercase}

/* Team */
.oss-team__grid{display:grid;grid-template-columns:1fr;gap:1px;background:#262626;border:1px solid #262626}
@media(min-width:700px){.oss-team__grid{grid-template-columns:1fr 1fr}}
@media(min-width:1100px){.oss-team__grid{grid-template-columns:repeat(4,1fr)}}
.oss-team__member{background:#080808;padding:clamp(28px,3vw,40px);transition:background-color .3s}
.oss-team__member:hover{background:#121212}
.oss-team__member .oss-mono{color:#A3A098;margin:4px 0 16px}

/* Rooms */
.oss-rooms{display:grid;gap:clamp(64px,10vw,140px)}
.oss-room{display:grid;grid-template-columns:1fr;gap:48px;align-items:center}
@media(min-width:900px){.oss-room{grid-template-columns:1.2fr 1fr;gap:clamp(48px,6vw,100px)}}
.oss-room--reverse .oss-room__media{order:2}
@media(max-width:899px){.oss-room--reverse .oss-room__media{order:0}}
.oss-room__media img{width:100%;aspect-ratio:4/3;object-fit:cover}
.oss-room__info .oss-mono{display:block;margin-bottom:14px}
.oss-spec{display:grid;grid-template-columns:repeat(2,1fr);gap:20px 40px;margin:28px 0 0;padding-top:24px;border-top:1px solid #262626}
.oss-spec div{display:flex;flex-direction:column;gap:6px}
.oss-spec dt{font-family:'JetBrains Mono',monospace;font-size:11px;letter-spacing:.22em;text-transform:uppercase;color:#A3A098;margin:0}
.oss-spec dd{margin:0;font-family:'Clash Display',serif;font-size:20px;color:#F4F0E6}

/* CTA strip */
.oss-cta-strip{
	text-align:center;padding:clamp(80px,10vw,140px) 32px;
	max-width:900px;margin:0 auto;
	border-top:1px solid #262626;border-bottom:1px solid #262626;
}
.oss-cta-strip .oss-display-sm{margin-bottom:12px}
.oss-cta-strip .oss-lead{margin-left:auto;margin-right:auto}
.oss-cta-strip .oss-btn{margin-top:20px}

/* =========================================================
   Rates
   ========================================================= */
.oss-rates{display:grid;gap:clamp(48px,6vw,100px)}
.oss-rate-block{display:grid;grid-template-columns:1fr;gap:32px}
@media(min-width:900px){.oss-rate-block{grid-template-columns:.8fr 1.2fr;gap:clamp(40px,5vw,80px)}}
.oss-rate-block__head .oss-mono{display:inline-block;margin-bottom:12px;font-size:16px;letter-spacing:.15em}
.oss-rate-list{list-style:none;padding:0;margin:0;border-top:1px solid #262626}
.oss-rate-list li{
	display:grid;grid-template-columns:1fr auto auto;align-items:baseline;gap:16px;
	padding:20px 0;border-bottom:1px solid #1a1a1a;color:#F4F0E6;font-size:17px;
}
.oss-rate-dots{display:block;height:1px;background:repeating-linear-gradient(to right,#262626 0,#262626 2px,transparent 2px,transparent 6px);min-width:80px}
.oss-rate-list li .oss-mono{font-size:15px;letter-spacing:.08em}

/* Callout */
.oss-callout{
	display:flex;flex-direction:column;gap:24px;
	padding:clamp(48px,6vw,80px);background:#121212;border:1px solid #262626;
	max-width:1720px;margin:0 auto;
	align-items:flex-start;
}
@media(min-width:800px){.oss-callout{flex-direction:row;align-items:center;justify-content:space-between}}

/* =========================================================
   Gear
   ========================================================= */
.oss-gear{display:grid;gap:clamp(48px,6vw,80px)}
.oss-gear-cat__title{padding-bottom:16px;border-bottom:1px solid #262626;margin-bottom:24px}
.oss-gear-list{list-style:none;padding:0;margin:0;display:grid;grid-template-columns:1fr;gap:8px 32px;column-gap:32px}
@media(min-width:700px){.oss-gear-list{grid-template-columns:1fr 1fr}}
@media(min-width:1100px){.oss-gear-list{grid-template-columns:repeat(3,1fr)}}
.oss-gear-list li{display:flex;align-items:center;gap:12px;color:#D6D2C7;font-size:14px;padding:8px 0;border-bottom:1px dashed #1a1a1a}
.oss-gear-list__dot{width:6px;height:6px;background:#E05A33;flex-shrink:0;transform:rotate(45deg)}

/* =========================================================
   Portfolio grid
   ========================================================= */
.oss-portfolio{display:grid;grid-template-columns:1fr;gap:clamp(48px,5vw,80px) 24px}
@media(min-width:700px){.oss-portfolio{grid-template-columns:1fr 1fr}}
@media(min-width:1100px){.oss-portfolio{grid-template-columns:repeat(3,1fr)}}
.oss-work{display:block;color:#F4F0E6}
.oss-work__media{overflow:hidden;background:#121212;margin-bottom:18px}
.oss-work__media img{width:100%;aspect-ratio:1/1;object-fit:cover;transition:transform .8s cubic-bezier(.2,.7,.2,1),filter .4s}
.oss-work:hover .oss-work__media img{transform:scale(1.05);filter:brightness(.8) contrast(1.08)}
.oss-work__meta .oss-mono:first-child{color:#A3A098;display:block;margin-bottom:8px;letter-spacing:.22em;text-transform:uppercase;font-size:11px}
.oss-work__title{color:#D6D2C7;margin:4px 0 4px;font-size:14px}
.oss-work__roles{color:#A3A098;font-size:12px;letter-spacing:.08em}

/* Quotes */
.oss-quotes__grid{display:grid;grid-template-columns:1fr;gap:32px}
@media(min-width:900px){.oss-quotes__grid{grid-template-columns:repeat(3,1fr)}}
.oss-quote{
	margin:0;padding:clamp(28px,3vw,40px);
	background:#121212;border:1px solid #262626;
	display:flex;flex-direction:column;gap:24px;
}
.oss-quote p{font-family:'Clash Display',serif;font-size:clamp(20px,1.6vw,24px);line-height:1.3;color:#F4F0E6;font-weight:500;margin:0}
.oss-quote cite{font-style:normal;color:#A3A098;font-size:12px;letter-spacing:.15em;text-transform:uppercase}

/* =========================================================
   Booking form
   ========================================================= */
.oss-booking{display:grid;grid-template-columns:1fr;gap:56px}
@media(min-width:1000px){.oss-booking{grid-template-columns:.8fr 1.5fr;gap:clamp(48px,5vw,96px)}}
.oss-booking__aside{display:grid;gap:40px;align-content:start;position:sticky;top:120px}
.oss-booking__block .oss-eyebrow{margin-bottom:10px}

.oss-form{display:grid;gap:28px}
.oss-form__row{display:grid;grid-template-columns:1fr;gap:28px}
@media(min-width:700px){.oss-form__row{grid-template-columns:1fr 1fr}}
.oss-field{display:flex;flex-direction:column;gap:10px}
.oss-field label{font-family:'JetBrains Mono',monospace;font-size:11px;letter-spacing:.22em;text-transform:uppercase;color:#A3A098}
.oss-field input,
.oss-field select,
.oss-field textarea{
	background:transparent;border:0;border-bottom:1px solid #262626;
	padding:14px 0;color:#F4F0E6;font-family:inherit;font-size:16px;
	border-radius:0;transition:border-color .25s ease;outline:none;
}
.oss-field select{appearance:none;-webkit-appearance:none;background-image:linear-gradient(45deg,transparent 50%,#E05A33 50%),linear-gradient(135deg,#E05A33 50%,transparent 50%);background-position:calc(100% - 16px) 20px,calc(100% - 10px) 20px;background-size:6px 6px,6px 6px;background-repeat:no-repeat}
.oss-field select option{background:#121212;color:#F4F0E6}
.oss-field input:focus,
.oss-field select:focus,
.oss-field textarea:focus{border-color:#E05A33}
.oss-field textarea{resize:vertical;min-height:140px}
.oss-form__fineprint{color:#A3A098;margin:0}

.oss-notice{padding:20px 24px;border:1px solid #262626;margin-bottom:32px}
.oss-notice--success{border-color:#E05A33}
.oss-notice--error{border-color:#8a3a2b}
.oss-notice p{margin:0 0 4px}

/* =========================================================
   Contact
   ========================================================= */
.oss-contact{display:grid;grid-template-columns:1fr;gap:48px}
@media(min-width:700px){.oss-contact{grid-template-columns:1fr 1fr}}
@media(min-width:1100px){.oss-contact{grid-template-columns:repeat(4,1fr)}}
.oss-contact__block{display:flex;flex-direction:column;gap:14px;padding:clamp(28px,3vw,40px);background:#121212;border:1px solid #262626}
.oss-contact__block .oss-display-sm{font-size:clamp(28px,2.5vw,40px);margin:0}
.oss-contact__block .oss-mono{color:#D6D2C7;font-size:14px;margin:0}
.oss-contact__block .oss-mono a{color:#F4F0E6;border-bottom:1px solid #262626;transition:border-color .25s,color .25s}
.oss-contact__block .oss-mono a:hover{color:#E05A33;border-color:#E05A33}
.oss-footer__social{list-style:none;padding:0;margin:0;display:grid;gap:10px}
.oss-footer__social a{font-family:'JetBrains Mono',monospace;font-size:14px;letter-spacing:.1em}

.oss-map{max-width:1720px;margin:0 auto 80px;padding:0 32px;height:460px}
.oss-map iframe{width:100%;height:100%;border:1px solid #262626;filter:grayscale(.6) contrast(1.1) brightness(.7)}

/* =========================================================
   404
   ========================================================= */
.oss-404{text-align:center;min-height:70vh;display:flex;flex-direction:column;justify-content:center}
.oss-404 .oss-btn-group{justify-content:center}

/* =========================================================
   Footer
   ========================================================= */
.oss-footer{background:#050505;border-top:1px solid #1a1a1a;padding:0 32px;color:#D6D2C7}
.oss-footer__cta{
	max-width:1720px;margin:0 auto;
	padding:clamp(80px,10vw,140px) 0;
	border-bottom:1px solid #1a1a1a;
	display:flex;flex-direction:column;gap:24px;align-items:flex-start;
}
.oss-footer__cta .oss-display{font-size:clamp(48px,7vw,120px);margin:0}
.oss-footer__grid{
	max-width:1720px;margin:0 auto;
	display:grid;grid-template-columns:1fr;gap:48px;
	padding:clamp(60px,8vw,100px) 0;
}
@media(min-width:800px){.oss-footer__grid{grid-template-columns:1.4fr 1fr 1fr 1fr}}
.oss-footer__col .oss-widget-title{
	font-family:'JetBrains Mono',monospace;font-size:11px;letter-spacing:.22em;text-transform:uppercase;
	color:#A3A098;margin:0 0 18px;font-weight:500;
}
.oss-footer__col .oss-logo--footer{margin-bottom:20px;color:#F4F0E6}
.oss-footer__tag{color:#A3A098;max-width:36ch;font-size:15px;line-height:1.55}
.oss-footer__links{list-style:none;padding:0;margin:0;display:grid;gap:10px}
.oss-footer__links a,
.oss-footer__social a{font-size:14px;color:#F4F0E6}
.oss-footer__bar{
	max-width:1720px;margin:0 auto;
	padding:24px 0;border-top:1px solid #1a1a1a;
	display:flex;flex-wrap:wrap;justify-content:space-between;gap:16px;
	color:#A3A098;font-size:11px;letter-spacing:.15em;text-transform:uppercase;
}

/* =========================================================
   Prose (for generic pages)
   ========================================================= */
.oss-prose{max-width:68ch;font-size:17px;line-height:1.7;color:#D6D2C7}
.oss-prose h2{font-family:'Clash Display',serif;font-size:32px;font-weight:600;letter-spacing:-.015em;margin:56px 0 16px;color:#F4F0E6}
.oss-prose h3{font-family:'Clash Display',serif;font-size:24px;font-weight:500;margin:40px 0 12px;color:#F4F0E6}
.oss-prose a{color:#E05A33;border-bottom:1px solid #E05A33}
.oss-prose blockquote{border-left:2px solid #E05A33;padding-left:24px;margin:32px 0;font-family:'Clash Display',serif;font-size:22px;line-height:1.35;color:#F4F0E6;font-style:italic}

/* =========================================================
   Mobile nav drawer
   ========================================================= */
@media(max-width:1000px){
	.oss-menu-toggle{display:flex}
	.oss-header__cta{display:none}
	.oss-nav{
		position:fixed;inset:82px 0 0;background:#080808;padding:48px 32px;
		transform:translateY(-120%);transition:transform .4s cubic-bezier(.2,.7,.2,1);
		border-top:1px solid #1a1a1a;
	}
	.oss-nav.is-open{transform:translateY(0)}
	.oss-nav__list{flex-direction:column;align-items:flex-start;gap:20px}
	.oss-nav__list a{font-size:22px;letter-spacing:.05em;text-transform:none;font-family:'Clash Display',serif}
}

/* =========================================================
   Small screen tweaks
   ========================================================= */
@media(max-width:640px){
	.oss-section,.oss-feature-split,.oss-page-hero,.oss-map{padding-left:20px;padding-right:20px}
	.oss-footer{padding-left:20px;padding-right:20px}
	.oss-header__inner{padding:18px 20px}
	.oss-hero{padding:80px 20px 60px}
	.oss-btn{padding:14px 22px;font-size:11px}
	.oss-hero__meta{gap:20px}
	.oss-spec{grid-template-columns:1fr}
	.oss-rate-list li{grid-template-columns:1fr auto;column-gap:16px}
	.oss-rate-dots{display:none}
	.oss-booking__aside{position:static}
}

/* =============================================================
   v2.1 — Responsive fixes + Elementor compatibility (loaded last)
   ============================================================= */

/* ---------- Prevent any horizontal overflow, whole site ---------- */
html, body { overflow-x: hidden; max-width: 100vw; }
.oss-main, .oss-footer, .oss-header { max-width: 100vw; }
img, iframe, video { max-width: 100%; height: auto; }

/* ---------- Header: safer mobile sizing ---------- */
@media (max-width: 1000px) {
	.oss-header__inner { padding: 16px 20px; gap: 16px; }
	.oss-logo__line1   { font-size: 15px; }
	.oss-logo__line2   { font-size: 9px; letter-spacing: .28em; }
	.oss-nav           { inset: 68px 0 0 !important; padding: 32px 24px; overflow-y: auto; }
	.oss-main          { padding-top: 68px; }
}

/* ---------- Hero: readable typography on small screens ---------- */
@media (max-width: 640px) {
	.oss-hero                 { min-height: 88vh; padding: 32px 20px 48px; }
	.oss-hero__title          { font-size: clamp(40px, 13vw, 68px) !important; line-height: .95; margin-bottom: 20px; }
	.oss-hero__inner          { padding-bottom: 16px; }
	.oss-lead                 { font-size: 15px; line-height: 1.55; }
	.oss-hero__meta           { gap: 14px 20px; padding-top: 20px; margin-top: 32px; }
	.oss-hero__meta li        { font-size: 10px; letter-spacing: .12em; }
	.oss-hero__scroll         { bottom: 16px; height: 40px; }
	.oss-display              { font-size: clamp(36px, 11vw, 64px); line-height: .98; }
	.oss-display-sm           { font-size: clamp(28px, 8vw, 40px); }
	.oss-heading-lg           { font-size: 22px; }
	.oss-btn                  { padding: 14px 22px; font-size: 11px; letter-spacing: .12em; }
	.oss-btn-group            { gap: 10px; }
}

/* ---------- Page hero: stack image BELOW text on <900px ---------- */
@media (max-width: 899px) {
	.oss-page-hero {
		grid-template-columns: 1fr !important;
		gap: 28px;
		padding: 28px 20px 40px;
	}
	.oss-page-hero .oss-display       { font-size: clamp(36px, 10vw, 64px); }
	.oss-page-hero__image img         { aspect-ratio: 16/10; }
}

/* ---------- Section padding scales down properly ---------- */
@media (max-width: 768px) {
	.oss-section,
	.oss-feature-split,
	.oss-feature-split--tight,
	.oss-map            { padding-left: 20px; padding-right: 20px; padding-top: 56px; padding-bottom: 56px; }
	.oss-cta-strip      { padding: 56px 20px; }
	.oss-footer         { padding-left: 20px; padding-right: 20px; }
	.oss-footer__cta    { padding: 56px 0; }
	.oss-footer__grid   { padding: 48px 0; gap: 36px; }
	.oss-section__head  { margin-bottom: 32px; }
	.oss-feature-split,
	.oss-feature-split--tight { gap: 32px; padding-top: 48px; padding-bottom: 48px; }
}

/* ---------- Services grid: 1 col on mobile, 2 col on tablet ---------- */
@media (max-width: 899px) {
	.oss-services__grid  { grid-template-columns: 1fr !important; }
}
@media (min-width: 700px) and (max-width: 1199px) {
	.oss-services__grid  { grid-template-columns: 1fr 1fr !important; }
}

/* ---------- Rooms: stack on mobile ---------- */
@media (max-width: 899px) {
	.oss-room,
	.oss-room--reverse        { grid-template-columns: 1fr !important; gap: 24px !important; }
	.oss-room--reverse .oss-room__media { order: 0 !important; }
	.oss-spec                 { grid-template-columns: 1fr 1fr; gap: 16px 24px; }
	.oss-spec dd              { font-size: 16px; }
}

/* ---------- Rate list: better mobile layout ---------- */
@media (max-width: 640px) {
	.oss-rate-block      { grid-template-columns: 1fr !important; gap: 20px; }
	.oss-rate-list li    { grid-template-columns: 1fr; row-gap: 4px; padding: 14px 0; align-items: start; }
	.oss-rate-list li span:first-child   { font-size: 15px; }
	.oss-rate-list li .oss-mono          { font-size: 14px; }
	.oss-rate-dots                       { display: none; }
}

/* ---------- Gear list: Gutenberg wp-block-list compat ---------- */
.oss-gear-list,
ul.wp-block-list.oss-gear-list {
	list-style: none !important; padding-left: 0 !important;
	display: grid; grid-template-columns: 1fr; gap: 0;
}
@media (min-width: 640px) { ul.wp-block-list.oss-gear-list { grid-template-columns: 1fr 1fr; column-gap: 32px; } }
@media (min-width: 1024px){ ul.wp-block-list.oss-gear-list { grid-template-columns: repeat(3, 1fr); } }
ul.wp-block-list.oss-gear-list li {
	display: flex; align-items: center; gap: 12px;
	padding: 8px 0; border-bottom: 1px dashed #1a1a1a;
	color: #D6D2C7; font-family: 'JetBrains Mono', monospace; font-size: 13px; line-height: 1.55;
	list-style: none;
}
ul.wp-block-list.oss-gear-list li::before {
	content: ""; width: 6px; height: 6px; background: #E05A33; transform: rotate(45deg); flex-shrink: 0;
}

/* ---------- Contact grid: simplified breakpoints ---------- */
.oss-contact { grid-template-columns: 1fr !important; gap: 20px !important; }
@media (min-width: 768px)  { .oss-contact { grid-template-columns: 1fr 1fr !important; gap: 24px !important; } }
@media (min-width: 1200px) { .oss-contact { grid-template-columns: repeat(4, 1fr) !important; gap: 24px !important; } }
@media (max-width: 767px) {
	.oss-contact__block { padding: 24px 20px !important; }
	.oss-contact__block .oss-display-sm { font-size: 28px !important; }
}

/* ---------- Booking aside: stack on mobile ---------- */
@media (max-width: 999px) {
	.oss-booking { grid-template-columns: 1fr !important; gap: 32px !important; }
	.oss-booking__aside { position: static !important; }
}
@media (max-width: 640px) {
	.oss-form__row  { grid-template-columns: 1fr !important; gap: 20px; }
	.oss-form       { gap: 20px; }
}

/* ---------- Portfolio / Work grid: better tablet behaviour ---------- */
@media (max-width: 640px) {
	.oss-portfolio,
	.oss-portfolio-tease__grid { grid-template-columns: 1fr !important; gap: 32px 16px; }
}
@media (min-width: 641px) and (max-width: 1099px) {
	.oss-portfolio,
	.oss-portfolio-tease__grid { grid-template-columns: 1fr 1fr !important; }
}

/* ---------- Team grid ---------- */
@media (max-width: 699px)  { .oss-team__grid { grid-template-columns: 1fr !important; } }
@media (min-width: 700px) and (max-width: 1099px) { .oss-team__grid { grid-template-columns: 1fr 1fr !important; } }

/* ---------- Footer grid & bar wrap ---------- */
@media (max-width: 799px) {
	.oss-footer__grid       { grid-template-columns: 1fr !important; gap: 32px; }
	.oss-footer__cta .oss-display { font-size: clamp(36px, 10vw, 56px); }
	.oss-footer__bar        { font-size: 10px; gap: 10px; }
}

/* ---------- Map ---------- */
@media (max-width: 767px) { .oss-map { height: 280px; padding: 0 20px; } }

/* ---------- Marquee overflow safety ---------- */
.oss-marquee-wrap { max-width: 100vw; }
.oss-marquee      { max-width: 100%; }

/* =============================================================
   ELEMENTOR COMPATIBILITY
   Elementor injects its own markup inside page content. Our base
   CSS must not override Elementor widget styling. We scope our
   "global" resets only to the theme's own chrome (header / footer
   / page-hero) and reset any bleed inside .elementor-* areas.
   ============================================================= */

/* If Elementor is managing the page content, let it render freely. */
.elementor,
.elementor * {
	/* Don't force our font/colour system on Elementor widgets — let the user style them in Elementor */
}
.elementor a { transition: none; }     /* let Elementor handle link transitions */
.elementor img { max-width: 100%; height: auto; display: inline-block; }

/* Our entry-content wrappers should NOT limit width or add padding when Elementor is used.
   Elementor Canvas and Elementor Full-Width templates already skip this entirely. */
.oss-entry-content > .elementor,
.oss-entry-content > .elementor-section,
.oss-entry-content > .elementor-section-wrap {
	max-width: none;
	margin-left: calc(-1 * var(--oss-section-pad, 32px));
	margin-right: calc(-1 * var(--oss-section-pad, 32px));
}

/* Elementor Canvas template: remove ALL theme chrome (no header/footer padding) */
body.elementor-template-canvas .oss-header,
body.elementor-template-canvas .oss-footer,
body.elementor-template-canvas .oss-skip-link { display: none !important; }
body.elementor-template-canvas .oss-main       { padding-top: 0 !important; }

/* Elementor Full-Width template: keep header/footer, remove content width constraint */
body.elementor-page .oss-entry-content,
body.page-template-page-elementor-fullwidth .oss-entry-content {
	max-width: none !important;
	padding-left: 0 !important;
	padding-right: 0 !important;
}

/* Don't let our heading font override Elementor headings */
.elementor-widget h1,
.elementor-widget h2,
.elementor-widget h3,
.elementor-widget h4,
.elementor-widget h5,
.elementor-widget h6 { font-family: inherit; letter-spacing: normal; line-height: 1.3; }
.elementor-widget p  { color: inherit; font-size: inherit; line-height: inherit; margin: 0 0 1em; max-width: none; }
.elementor-widget a:hover { color: inherit; }

/* Make sure Elementor columns aren't squeezed by our box-sizing quirks */
.elementor-section.elementor-section-boxed > .elementor-container { max-width: 1720px; }

/* =============================================================
   v2.1.1 — Bulletproof mobile nav
   Replaces the transform-based hide/show with display-based.
   ============================================================= */
@media (max-width: 1000px) {
	/* Make sure the hamburger toggle is ALWAYS visible on mobile, on top */
	.oss-menu-toggle {
		display: flex !important;
		position: relative;
		z-index: 102;
		width: 44px;
		height: 44px;
		background: transparent;
		border: 0;
		padding: 0;
		cursor: pointer;
		margin-left: auto;
	}
	.oss-menu-toggle span {
		display: block !important;
		width: 26px;
		height: 2px !important;
		background: #F4F0E6 !important;
		margin: 4px 0;
	}
	/* Show the Book button on tablet/mobile next to the hamburger — only hide on phones <600px */
	.oss-header__cta {
		display: none !important;
	}
	/* Nav drawer: completely removed by default, shown only when .is-open */
	.oss-nav {
		display: none !important;
		position: fixed;
		inset: 64px 0 0;
		background: #080808;
		padding: 32px 24px;
		z-index: 101;
		overflow-y: auto;
		transform: none !important;
		visibility: visible !important;
		opacity: 1 !important;
		border-top: 1px solid #1a1a1a;
	}
	.oss-nav.is-open {
		display: block !important;
	}
	.oss-nav__list {
		flex-direction: column !important;
		align-items: flex-start !important;
		gap: 22px !important;
		padding: 0 !important;
		margin: 0 !important;
		list-style: none !important;
	}
	.oss-nav__list a {
		font-size: 22px !important;
		letter-spacing: .02em !important;
		text-transform: none !important;
		font-family: 'Clash Display', Georgia, serif !important;
		color: #F4F0E6 !important;
	}
	/* Header must be on top of everything else */
	.oss-header { z-index: 100; }
	.oss-header__inner {
		display: flex !important;
		align-items: center !important;
		justify-content: space-between !important;
	}
	.oss-main { padding-top: 64px; }
}

/* Animated hamburger → X when open */
.oss-menu-toggle[aria-expanded="true"] span:nth-child(1) { transform: translateY(6px) rotate(45deg); }
.oss-menu-toggle[aria-expanded="true"] span:nth-child(2) { opacity: 0; }
.oss-menu-toggle[aria-expanded="true"] span:nth-child(3) { transform: translateY(-6px) rotate(-45deg); }
.oss-menu-toggle span { transition: transform .3s ease, opacity .3s ease; }

/* =============================================================
   v3.0 — Gutenberg block integration
   Make wp-block-cover / wp-block-columns / wp-block-list render
   the cinematic design via classNames (oss-hero, oss-page-hero, etc).
   ============================================================= */

/* Cover block = cinematic hero */
.wp-block-cover.oss-hero,
.wp-block-cover.oss-page-hero--cover {
	color: #F4F0E6;
	align-items: flex-end !important;
}
.wp-block-cover.oss-hero .wp-block-cover__inner-container,
.wp-block-cover.oss-page-hero--cover .wp-block-cover__inner-container {
	max-width: 1720px; margin: 0 auto; padding: 32px;
	width: 100%;
}
.wp-block-cover.oss-hero .has-background-dim,
.wp-block-cover.oss-page-hero--cover .has-background-dim {
	background: linear-gradient(to top, rgba(8,8,8,.96) 0%, rgba(8,8,8,.55) 45%, rgba(8,8,8,.25) 75%, rgba(8,8,8,.65) 100%) !important;
}
.wp-block-cover.oss-hero h1.oss-display,
.wp-block-cover.oss-hero h1.oss-hero__title {
	font-size: clamp(48px, 9vw, 140px) !important;
	margin: 0 0 24px !important; max-width: 14ch;
}
.wp-block-cover.oss-page-hero--cover h1.oss-display {
	font-size: clamp(40px, 7vw, 96px) !important;
	margin: 0 0 20px !important;
}

/* Buttons inside cover */
.wp-block-cover .wp-block-button.oss-btn--primary > .wp-block-button__link {
	background: #E05A33; color: #F4F0E6 !important; border-radius: 0 !important;
	padding: 16px 28px; font-family: 'JetBrains Mono', monospace;
	font-size: 12px; letter-spacing: .15em; text-transform: uppercase;
}
.wp-block-cover .wp-block-button.oss-btn--ghost > .wp-block-button__link {
	background: transparent !important; color: #F4F0E6 !important;
	border: 1px solid #262626 !important; border-radius: 0 !important;
	padding: 16px 28px; font-family: 'JetBrains Mono', monospace;
	font-size: 12px; letter-spacing: .15em; text-transform: uppercase;
}
.wp-block-cover .wp-block-button.oss-btn--primary > .wp-block-button__link:hover { background: #C94B26; }
.wp-block-cover .wp-block-button.oss-btn--ghost > .wp-block-button__link:hover   { border-color: #E05A33 !important; color: #E05A33 !important; }
.wp-block-buttons.oss-btn-group { gap: 14px; margin-top: 16px; }

/* Group sections: constrain to 1720 and add vertical padding */
.wp-block-group.oss-section {
	max-width: 1720px; margin: 0 auto;
	padding: clamp(64px, 10vw, 140px) 32px;
}
.wp-block-group.oss-feature-split {
	max-width: 1720px; margin: 0 auto;
	padding: clamp(64px, 10vw, 140px) 32px;
}
.wp-block-group.oss-rate-block {
	padding: 0 0 48px;
	border-bottom: 1px solid #262626;
	margin-bottom: 48px;
}
.wp-block-group.oss-rate-block:last-child { border-bottom: 0; }

/* Columns spacing */
.oss-section .wp-block-columns { gap: clamp(24px, 4vw, 64px); }

/* Service cards (column) */
.wp-block-column.oss-service-card {
	background: #121212; border: 1px solid #262626; padding: clamp(28px, 3vw, 40px);
	display: flex; flex-direction: column; gap: 10px;
}
.wp-block-column.oss-service-card p.oss-mono.oss-accent { font-size: 14px; margin: 0; }
.wp-block-column.oss-service-card h3 { margin: 0; }
.wp-block-column.oss-service-card p.oss-body { margin: 0; }

/* Rooms: alternating reverse */
.wp-block-columns.oss-room { align-items: center; gap: clamp(32px, 5vw, 80px); margin-bottom: 48px; }
.wp-block-columns.oss-room img { width: 100%; aspect-ratio: 4/3; object-fit: cover; }
@media (max-width: 899px) {
	.wp-block-columns.oss-room { flex-direction: column; }
	.wp-block-columns.oss-room--reverse { flex-direction: column; }
}
@media (min-width: 900px) {
	.wp-block-columns.oss-room--reverse { flex-direction: row-reverse; }
}
.wp-block-list.oss-spec-list { list-style: none !important; padding: 0 !important; margin: 20px 0 0; }
.wp-block-list.oss-spec-list li { padding: 8px 0; border-bottom: 1px solid #262626; font-family: 'JetBrains Mono', monospace; font-size: 14px; color: #D6D2C7; }
.wp-block-list.oss-spec-list li strong { color: #A3A098; text-transform: uppercase; letter-spacing: .12em; font-size: 11px; font-weight: 500; margin-right: 8px; }

/* Rate table styled */
.wp-block-table.oss-rate-table table { width: 100%; border-collapse: collapse; margin-top: 20px; }
.wp-block-table.oss-rate-table td { padding: 16px 0; border-bottom: 1px solid #1a1a1a; color: #F4F0E6; font-size: 16px; }
.wp-block-table.oss-rate-table td:last-child { text-align: right; font-family: 'JetBrains Mono', monospace; color: #E05A33; }
.wp-block-table.oss-rate-table figcaption { display: none; }

/* Portfolio columns */
.wp-block-columns.oss-portfolio img { width: 100%; aspect-ratio: 1/1; object-fit: cover; }
.wp-block-columns.oss-portfolio .wp-block-column.oss-work { color: #F4F0E6; }
.wp-block-columns.oss-portfolio .wp-block-column.oss-work p.oss-mono { color: #A3A098; font-size: 11px; letter-spacing: .22em; text-transform: uppercase; margin: 12px 0 4px; }
.wp-block-columns.oss-portfolio .wp-block-column.oss-work h3 { margin: 4px 0 4px; }

/* Portfolio tease (home) */
.wp-block-columns.oss-portfolio-tease__grid img { width: 100%; aspect-ratio: 4/5; object-fit: cover; }
.wp-block-columns.oss-portfolio-tease__grid .wp-block-column.oss-portfolio-card { background: #121212; border: 1px solid #1a1a1a; }
.wp-block-columns.oss-portfolio-tease__grid .wp-block-column.oss-portfolio-card > p,
.wp-block-columns.oss-portfolio-tease__grid .wp-block-column.oss-portfolio-card > h4 { padding: 0 24px; }
.wp-block-columns.oss-portfolio-tease__grid .wp-block-column.oss-portfolio-card > h4 { padding-bottom: 20px; }
.wp-block-columns.oss-portfolio-tease__grid .wp-block-column.oss-portfolio-card figure { margin: 0; }

/* Contact columns */
.wp-block-columns.oss-contact { gap: 20px !important; }
.wp-block-columns.oss-contact .wp-block-column.oss-contact__block {
	background: #121212; border: 1px solid #262626; padding: clamp(28px, 3vw, 40px);
}

/* Intro grid images aspect */
.wp-block-columns.oss-intro__grid img { width: 100%; aspect-ratio: 4/5; object-fit: cover; }

/* Feature split (home) */
.wp-block-group.oss-feature-split .wp-block-columns { gap: clamp(32px, 6vw, 100px); align-items: center; }
.wp-block-group.oss-feature-split img { width: 100%; aspect-ratio: 4/5; object-fit: cover; }
.wp-block-list.oss-bullets { list-style: none !important; padding: 0 !important; margin: 24px 0 0; }
.wp-block-list.oss-bullets li { color: #C4C0B6; padding: 8px 0; position: relative; padding-left: 24px; }
.wp-block-list.oss-bullets li::before { content: "+"; color: #E05A33; position: absolute; left: 0; font-family: 'JetBrains Mono', monospace; }

/* Team grid columns */
.wp-block-columns.oss-team__grid { gap: 1px !important; background: #262626; border: 1px solid #262626; }
.wp-block-columns.oss-team__grid .wp-block-column.oss-team__member { background: #080808; padding: clamp(24px, 3vw, 36px); }

/* Figures */
.wp-block-image.oss-figure img { width: 100%; aspect-ratio: 16/10; object-fit: cover; }
.wp-block-image.oss-figure figcaption { color: #A3A098; font-family: 'JetBrains Mono', monospace; font-size: 11px; letter-spacing: .2em; text-transform: uppercase; margin-top: 12px; }

/* Quotes */
.wp-block-quote.oss-quote { margin: 24px 0; padding: clamp(24px, 3vw, 36px); background: #121212; border: 1px solid #262626; border-left: 3px solid #E05A33; }
.wp-block-quote.oss-quote p { font-family: 'Clash Display', Georgia, serif; font-size: clamp(18px, 1.5vw, 22px); line-height: 1.35; margin: 0 0 16px; color: #F4F0E6; }
.wp-block-quote.oss-quote cite { color: #A3A098; font-size: 12px; letter-spacing: .15em; text-transform: uppercase; font-style: normal; }

/* Entry-content default spacing reset so front-page.php works */
.oss-entry-content > * { margin-top: 0; margin-bottom: 0; }

/* Buttons hover for inline non-cover instances */
.oss-btn.wp-block-button > .wp-block-button__link { border-radius: 0 !important; }

/* Mobile: stacked columns (Gutenberg default handles this) — ensure spacing */
@media (max-width: 781px) {
	.wp-block-columns { gap: 20px !important; }
	.wp-block-group.oss-section,
	.wp-block-group.oss-feature-split { padding-left: 20px; padding-right: 20px; }
	.wp-block-cover.oss-hero .wp-block-cover__inner-container,
	.wp-block-cover.oss-page-hero--cover .wp-block-cover__inner-container { padding: 20px; }
}
