@font-face{font-family:Montserrat;src:url(assets/Montserrat-Regular.ttf)}@font-face{font-family:Montserrat;src:url(assets/Montserrat-Bold.ttf);font-weight:700}@font-face{font-family:Montserrat;src:url(assets/Montserrat-SemiBold.ttf);font-weight:600}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;font-family:Montserrat,Arial,sans-serif;color:#35434d;background:#faf9f6;line-height:1.65}a{color:inherit;text-decoration:none}button{font:inherit}.header{height:94px;background:#35434d;display:flex;align-items:center;justify-content:space-between;padding:0 max(5vw,24px);position:sticky;top:0;z-index:10;border-bottom:1px solid #ffffff22}.brand img{width:175px;height:85px;object-fit:contain}nav{display:flex;align-items:center;gap:31px;color:#fff;font-size:12px;font-weight:600}nav a:hover{color:#bda472}.nav-contact{border:1px solid #bda472;padding:12px 18px;color:#bda472}.menu{display:none}.hero{background:#35434d;color:white;overflow:hidden}.hero-inner{display:grid;grid-template-columns:1.15fr 0.85fr;min-height:610px;max-width:1500px;margin:auto}.hero-copy{padding:100px 5vw 95px}.eyebrow{font-size:10px;font-weight:700;letter-spacing:.18em;color:#bda472}.hero h1{font-size:clamp(45px,5.6vw,86px);line-height:1.13;letter-spacing:-.065em;margin:25px 0}.hero h1 span,.section h2 em,.partner h2 em{font-style:normal;color:#bda472}.hero-copy>p{max-width:520px;color:#d6d9da;font-size:16px}.actions{display:flex;flex-wrap:wrap;gap:13px;margin-top:36px}.btn{display:inline-block;padding:14px 20px;font-weight:700;font-size:12px}.gold{background:#bda472;color:#263c47}.outline{border:1px solid #839198;color:#fff}.dark{background:#35434d;color:white;margin-top:25px}.hero-visual{position:relative;background:radial-gradient(circle at 65% 40%,#5c7077,#35434d 68%);overflow:hidden}.visual-ring{position:absolute;border:1px solid #bda47266;border-radius:50%;aspect-ratio:1}.r1{width:560px;left:8%;top:5%}.r2{width:400px;left:22%;top:18%}.r3{width:260px;left:35%;top:30%}.hero-monogram{position:absolute;top:22%;left:37%;font-weight:700;font-size:220px;color:#bda472;opacity:.75;line-height:1}.visual-label{position:absolute;bottom:60px;left:45px;font-size:11px;letter-spacing:.14em;color:#d4d8d9}.visual-label strong{color:#bda472}.hero-bottom{display:flex;justify-content:space-around;gap:20px;border-top:1px solid #ffffff22;padding:20px 30px;font-size:10px;letter-spacing:.16em;color:#c6cbcd}.section{padding:110px max(5vw,24px);max-width:1500px;margin:auto}.about{display:grid;grid-template-columns:1fr 1fr;gap:11%}h2{font-size:clamp(34px,4vw,57px);line-height:1.17;letter-spacing:-.055em;margin:20px 0 0}p{font-size:14px}.about-copy p{margin:0 0 20px;color:#53626b}.section-head{display:flex;align-items:end;justify-content:space-between;gap:35px;margin-bottom:42px}.section-head>p{max-width:320px;color:#687780}.brands{background:#fff;max-width:none}.brands>.section-head,.brands>.brand-feature,.brands>.small-note{max-width:1350px;margin-left:auto;margin-right:auto}.brand-feature{display:grid;grid-template-columns:1fr 1fr;min-height:490px}.brand-art{position:relative;background:#d7eaf1;overflow:hidden;display:flex;align-items:center;justify-content:center;flex-direction:column}.brand-art .tag{position:absolute;top:25px;left:25px;font-size:10px;letter-spacing:.14em;font-weight:700;color:#35434d}.brand-name{font-size:clamp(55px,6vw,92px);font-weight:700;letter-spacing:-.08em;color:#35434d;position:relative;z-index:1}.brand-name span{font-size:14px;vertical-align:top;letter-spacing:0}.brand-art>p{letter-spacing:.18em;font-size:10px;z-index:1}.bubble{position:absolute;border-radius:50%;border:1px solid #ffffffdd}.b1{width:300px;height:300px;left:-70px;bottom:-100px}.b2{width:200px;height:200px;right:-45px;top:20px}.b3{width:90px;height:90px;left:70px;top:40px}.brand-detail{padding:55px clamp(25px,5vw,70px);background:#f3f0e9}.brand-detail h3{font-size:clamp(30px,3vw,45px);line-height:1.17;letter-spacing:-.05em;margin:17px 0}.brand-detail p{color:#5d6970}.text-link{display:block;text-decoration:underline;text-underline-offset:5px;font-size:12px;font-weight:600;margin-top:25px}.small-note{color:#7c8589;font-size:11px;margin-top:17px}.cards{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}.cards article{border:1px solid #d8dcdb;background:#fff;padding:40px 30px;min-height:280px}.cards article>span{color:#bda472;font-weight:700;font-size:13px}.cards h3{font-size:19px;line-height:1.35;margin-top:50px}.cards p{color:#66737a}.partner{background:#35434d;color:white;display:grid;grid-template-columns:1fr 1fr;gap:10%;padding:110px max(5vw,24px)}.partner h2{font-size:clamp(42px,5vw,72px)}.partner>div>p{max-width:500px;color:#cbd1d4}.partner-options{display:grid;gap:17px}.partner-options article{border:1px solid #708089;padding:25px}.partner-options h3{margin:0;font-size:18px}.partner-options p{color:#cbd1d4}.partner-options a{color:#d6bb86;font-weight:700;font-size:12px}.contact{display:grid;grid-template-columns:1fr 1fr;gap:12%}.contact>div>p{color:#65737a}.contact-card{background:#eae6dc;padding:40px;align-self:center}.contact-card span{font-size:10px;letter-spacing:.15em;font-weight:700}.contact-card a{display:block;font-size:clamp(18px,2.3vw,30px);font-weight:700;margin:22px 0;overflow-wrap:anywhere}.contact-card p{margin:0;color:#68757b}footer{background:#283c46;color:#e5e6e6;padding:30px max(5vw,24px)}.footer-main{display:flex;align-items:center;justify-content:space-between;gap:20px}.footer-main img{width:160px}.footer-main p{font-size:12px}.footer-end{border-top:1px solid #ffffff22;display:flex;gap:18px;justify-content:space-between;padding-top:20px;font-size:10px;color:#c3c9cc}@media(max-width:800px){.header{height:76px}.brand img{width:140px;height:68px}.menu{display:block;background:none;border:0;color:white;font-size:27px}nav{display:none;position:absolute;top:76px;left:0;right:0;background:#35434d;padding:24px;flex-direction:column;align-items:stretch;gap:20px}nav.open{display:flex}.hero-inner,.about,.brand-feature,.partner,.contact{grid-template-columns:1fr}.hero-copy{padding:80px 24px}.hero-visual{min-height:300px}.hero-monogram{font-size:140px;left:43%;top:13%}.visual-ring.r1{width:350px}.visual-ring.r2{width:270px}.visual-ring.r3{width:170px}.hero-bottom{flex-wrap:wrap;font-size:8px}.section{padding:70px 24px}.section-head{display:block}.brand-detail{padding:40px 25px}.brand-art{min-height:330px}.cards{grid-template-columns:1fr}.cards article{min-height:0}.cards h3{margin-top:25px}.partner{padding:70px 24px}.footer-main,.footer-end{flex-direction:column;align-items:flex-start}}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}}
/* Corporate-first portfolio additions */
.hero-monogram{font-size:clamp(90px,10vw,160px);left:24%;top:32%;letter-spacing:-.12em;opacity:.38}
.portfolio-grid{max-width:1350px;margin:auto;display:grid;grid-template-columns:1.65fr 1fr;gap:20px}
.portfolio-feature{display:grid;grid-template-columns:1fr 1fr;background:#f3f0e9;min-height:340px}
.portfolio-mark{background:#e3edf0;padding:34px;display:flex;flex-direction:column;justify-content:center;gap:15px}
.portfolio-mark span{font-size:10px;letter-spacing:.15em;font-weight:700}
.portfolio-mark strong{font-size:clamp(38px,4vw,60px);letter-spacing:-.08em;line-height:1}
.portfolio-mark small{font-size:12px}
.portfolio-info{padding:35px}.portfolio-info h3{font-size:29px;margin:15px 0}.portfolio-info p{color:#64717a}
.portfolio-future{padding:35px;border:1px solid #d8dcdb}.portfolio-future h3{font-size:30px;line-height:1.2}.portfolio-future p{color:#64717a}
.region-band{background:#edeae2;padding:90px max(5vw,24px);display:grid;grid-template-columns:1fr 1fr;gap:10%}.region-band h2{font-size:clamp(34px,4vw,56px)}.region-band h2 em{font-style:normal;color:#bda472}.region-band p{max-width:570px;color:#5d6970}.region-countries{display:flex;align-content:center;align-items:center;flex-wrap:wrap;gap:12px}.region-countries span{padding:12px 18px;border:1px solid #c6c6be;background:white;font-weight:600;font-size:12px}.region-countries p{width:100%;font-size:11px}
.subhero{background:#35434d;color:white;padding:105px max(5vw,24px) 90px}.subhero h1{font-size:clamp(60px,9vw,120px);line-height:1.1;margin:18px 0}.subhero h1 span{font-size:25px;vertical-align:top}.subhero p{max-width:650px;color:#d9dedf;font-size:17px}.subhero .text-link{color:#bda472}
.product-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:20px}.product{background:white;border:1px solid #e3e5e5;overflow:hidden}.product img{display:block;width:100%;height:225px;object-fit:cover}.product>div{padding:18px 22px}.product h3{font-size:17px;margin:0 0 8px}.product p{color:#65737a;font-size:12px;margin:0}
@media(max-width:1000px){.portfolio-grid{grid-template-columns:1fr}.product-grid{grid-template-columns:repeat(2,1fr)}}
@media(max-width:800px){.portfolio-feature,.region-band{grid-template-columns:1fr}.region-band{padding:70px 24px}.product-grid{grid-template-columns:1fr}.hero-monogram{left:34%;top:28%}}

/* V3 approved design: only requested featured-brand photo treatment. */
.portfolio-feature .portfolio-mark{position:relative;isolation:isolate;overflow:hidden}
.portfolio-feature .portfolio-mark::after{content:"";display:block;width:100%;height:145px;margin-top:24px;background:url("assets/soapsox-baby-bathtime.jpg") center 38%/cover no-repeat;border-radius:3px}
@media(max-width:800px){.portfolio-feature .portfolio-mark::after{height:110px}}

/* V4: Add SoapSox image to the existing brand-page hero; all other sections unchanged. */
.subhero-with-photo{display:grid;grid-template-columns:minmax(0,1.2fr) minmax(280px,.8fr);align-items:center;gap:42px;min-height:480px}
.subhero-with-photo .subhero-content{min-width:0}
.subhero-with-photo .subhero-photo{width:100%;height:340px;overflow:hidden;border-radius:2px}
.subhero-with-photo .subhero-photo img{display:block;width:100%;height:100%;object-fit:cover;object-position:center 40%}
@media(max-width:800px){.subhero-with-photo{grid-template-columns:1fr;gap:30px}.subhero-with-photo .subhero-photo{height:280px}}

/* V5: Full-height catalog photography on the SoapSox page, without cropping the subjects. */
.subhero-with-photo{grid-template-columns:minmax(0,1.3fr) minmax(270px,.7fr);gap:36px}
.subhero-with-photo .subhero-photo{height:auto;max-width:390px;justify-self:center;overflow:visible;border-radius:8px;background:#e6f5fc}
.subhero-with-photo .subhero-photo img{width:100%;height:auto;object-fit:contain;object-position:center;display:block;border-radius:8px}
@media(max-width:800px){.subhero-with-photo .subhero-photo{height:auto;max-width:340px;width:100%;justify-self:center}}

/* SoapSox hero: display full supplied photograph without cropping */
.subhero-with-photo .subhero-photo{width:100%;max-width:430px;height:auto;overflow:hidden;background:#f6f7f5;border-radius:10px}
.subhero-with-photo .subhero-photo img{width:100%;height:auto;object-fit:contain;display:block}

/* V7: reproduce approved full-width SoapSox hero, without changing other pages */
.subhero.subhero-with-photo {
  display:flex;align-items:center;position:relative;isolation:isolate;
  min-height:620px;gap:0;padding:100px max(5vw,24px) 100px;
  background:#35434d;overflow:hidden;
}
.subhero.subhero-with-photo::before {
  content:"";position:absolute;inset:0 0 0 41%;z-index:-2;
  background-image:url('assets/soapsox-hero-photo.jpg');
  background-size:cover;background-position:center 35%;background-repeat:no-repeat;
}
.subhero.subhero-with-photo::after {
  content:"";position:absolute;inset:0;z-index:-1;
  background:linear-gradient(90deg,#35434d 0%,#35434d 34%,rgba(53,67,77,.96) 41%,rgba(53,67,77,.72) 50%,rgba(53,67,77,.12) 67%,transparent 83%);
}
.subhero.subhero-with-photo .subhero-content {max-width:740px;width:56%;position:relative;z-index:1}
.subhero.subhero-with-photo .subhero-content p{max-width:700px}
@media(max-width:900px){
 .subhero.subhero-with-photo{min-height:700px;align-items:flex-end;padding:350px 6vw 60px}
 .subhero.subhero-with-photo::before{inset:0 0 32% 0;background-position:center 28%}
 .subhero.subhero-with-photo::after{background:linear-gradient(0deg,#35434d 0%,#35434d 31%,rgba(53,67,77,.9) 42%,rgba(53,67,77,0) 70%)}
 .subhero.subhero-with-photo .subhero-content{width:100%;max-width:700px}
 .subhero.subhero-with-photo h1{font-size:clamp(54px,11vw,92px)}
}

/* V9 — mobile usability refinements; desktop visual identity unchanged */
html{scroll-padding-top:110px}body{overflow-x:hidden}img{max-width:100%}a,button{-webkit-tap-highlight-color:transparent}a:focus-visible,button:focus-visible{outline:3px solid #bda472;outline-offset:3px}
@media(max-width:1100px) and (min-width:801px){nav{gap:16px;font-size:11px}.header{padding-inline:3vw}.brand img{width:145px}.hero-copy{padding-inline:4vw}.portfolio-info{padding:28px}}
@media(max-width:800px){
 html{scroll-padding-top:88px}
 .header{padding-inline:20px}.menu{min-width:48px;min-height:48px;display:flex;align-items:center;justify-content:center;cursor:pointer;border:1px solid #ffffff55;border-radius:3px;line-height:1}
 nav{box-shadow:0 14px 22px #1b303c33;max-height:calc(100dvh - 76px);overflow-y:auto;padding:16px 20px 24px;gap:0}
 nav a{display:flex;align-items:center;min-height:49px;padding:12px 6px;border-bottom:1px solid #ffffff1a;font-size:14px}
 nav .nav-contact{margin-top:12px;justify-content:center;min-height:48px}
 .hero-copy{padding:58px 24px 64px}.hero h1{font-size:clamp(35px,8.7vw,58px);letter-spacing:-.055em;overflow-wrap:break-word}.hero-copy>p{font-size:14px}
 .actions{gap:12px}.actions .btn{min-height:48px;display:inline-flex;align-items:center;justify-content:center}
 .hero-visual{min-height:245px}.visual-label{bottom:24px;left:24px}.hero-bottom{justify-content:center;line-height:1.6;text-align:center}
 .section{padding:62px 20px}.about{gap:28px}.section-head{margin-bottom:26px}.section-head>p{max-width:none}
 .portfolio-grid{gap:16px}.portfolio-mark{min-height:300px;padding:26px}.portfolio-mark strong{font-size:clamp(38px,11vw,60px);overflow-wrap:anywhere}.portfolio-info,.portfolio-future{padding:28px 24px}
 .portfolio-feature .portfolio-mark::after{height:150px;background-position:center 35%}
 .cards{gap:12px}.cards article{padding:26px 22px}.region-band{padding:62px 20px;gap:24px}.region-countries{gap:9px}.region-countries span{padding:10px 12px;font-size:11px}
 .partner{padding:62px 20px;gap:24px}.partner-options article{padding:24px 20px}.partner-options a{display:inline-flex;align-items:center;min-height:44px}
 .contact{gap:24px}.contact-card{padding:28px 22px}.contact-card a{font-size:clamp(16px,5vw,25px)}
 .footer-main img{width:145px}.footer-end{line-height:1.7}
 .subhero.subhero-with-photo{min-height:620px;padding:300px 20px 52px}
 .subhero.subhero-with-photo::before{inset:0 0 34% 0;background-position:center 26%}
 .subhero.subhero-with-photo::after{background:linear-gradient(0deg,#35434d 0%,#35434d 34%,rgba(53,67,77,.96) 43%,rgba(53,67,77,0) 73%)}
 .subhero.subhero-with-photo h1{font-size:clamp(47px,12vw,80px);overflow-wrap:anywhere}
 .subhero.subhero-with-photo p{font-size:14px}.subhero.subhero-with-photo .text-link{display:inline-flex;align-items:center;min-height:44px}
 .product-grid{gap:14px}.product img{height:auto;aspect-ratio:4/3;object-fit:contain;background:#f6f7f7}
}
@media(max-width:380px){.hero h1{font-size:34px}.hero-bottom{gap:9px}.brand img{width:125px}.portfolio-mark{padding:20px}.portfolio-info{padding:24px 20px}.subhero.subhero-with-photo{padding-top:280px}}

/* Legal pages: scoped styles; existing corporate pages remain unchanged */
.legal-hero{background:#35434d;color:#fff;padding:100px max(6vw,24px) 68px}.legal-hero h1{font-size:clamp(36px,5vw,64px);margin:18px 0}.legal-hero p{max-width:650px;line-height:1.7}.legal-content{max-width:900px;margin:0 auto;padding:65px 26px 100px;line-height:1.85}.legal-content h2{font-size:clamp(19px,2.4vw,25px);margin:35px 0 8px;color:#35434d}.legal-content p{margin:10px 0 20px}.legal-content a{color:#35434d;text-decoration:underline}.legal-note{border-left:4px solid #bda472;background:#f5f2eb;padding:17px 22px;border-radius:4px}.footer-end a{display:inline-block}.legal-hero .eyebrow{color:#bda472}
@media(max-width:600px){.legal-hero{padding:76px 22px 44px}.legal-content{padding:35px 22px 70px}}
