:root {
  --irini-paper: #f5f0e7;
  --irini-light: #fbf8f2;
  --irini-ink: #172426;
  --irini-muted: #66665f;
  --irini-clay: #b85f43;
  --irini-sand: #d7c8b2;
  --irini-sage: #788378;
  --irini-dark: #11120f;
  --irini-brass: #af925b;
  --irini-line: rgba(23,36,38,.18);
}

html { scroll-behavior: smooth; }
body { margin: 0; overflow-x: hidden; }
.wp-site-blocks { overflow: hidden; }
.irini-eyebrow { margin: 0 0 22px; color: var(--irini-clay); font-size: 11px; line-height: 1.3; font-weight: 800; letter-spacing: .18em; text-transform: uppercase; }
.irini-section { padding: clamp(80px,9vw,146px) clamp(22px,6vw,96px); }
.irini-section h2, .irini-dark-section h2, .irini-capabilities h2, .irini-factory h2, .irini-contact h2 { margin: 0; font: 500 clamp(44px,5vw,78px)/1.05 Georgia,serif; letter-spacing: -.045em; }
.irini-split-heading { display: grid; grid-template-columns: 1.15fr .85fr; gap: 9vw; align-items: end; }
.irini-split-heading > p { max-width: 560px; margin: 0; color: var(--irini-muted); font-size: 18px; line-height: 1.65; }
.irini-button { min-height: 54px; padding: 0 28px; display: inline-flex; align-items: center; justify-content: center; background: var(--irini-ink); color: var(--irini-light) !important; text-decoration: none; font-size: 12px; font-weight: 800; letter-spacing: .12em; text-transform: uppercase; }
.irini-button-light { background: var(--irini-light); color: var(--irini-dark) !important; }
.irini-text-link { padding: 10px 0; border-bottom: 1px solid var(--irini-clay); color: inherit; text-decoration: none; font-size: 12px; font-weight: 800; letter-spacing: .12em; text-transform: uppercase; }

.irini-header { min-height: 84px; padding: 0 clamp(22px,4.2vw,72px); position: relative; z-index: 20; display: grid; grid-template-columns: 1fr auto 1fr; align-items: center; gap: 30px; background: rgba(251,248,242,.98); border-bottom: 1px solid var(--irini-line); }
.irini-brand { display: flex; align-items: center; gap: 12px; color: var(--irini-ink); text-decoration: none; font-size: 14px; font-weight: 800; letter-spacing: .16em; }
.irini-brand-mark { width: 38px; height: 38px; display: grid; place-items: center; border: 1px solid var(--irini-ink); font: 700 12px Georgia,serif; letter-spacing: .04em; }
.irini-desktop-nav { display: flex; align-items: center; gap: clamp(18px,2.2vw,36px); }
.irini-desktop-nav > a, .irini-nav-trigger, .irini-header-cta { color: var(--irini-ink); text-decoration: none; font-size: 13px; font-weight: 650; white-space: nowrap; }
.irini-nav-group { position: relative; padding: 30px 0; }
.irini-nav-trigger span, .irini-header-cta span { color: var(--irini-clay); }
.irini-header-cta { justify-self: end; padding: 8px 0; border-bottom: 1px solid var(--irini-ink); }
.irini-mega-menu { width: min(920px,88vw); padding: 20px; position: absolute; top: calc(100% - 2px); left: 50%; display: grid; grid-template-columns: 1.35fr repeat(3,1fr); background: var(--irini-light); border: 1px solid var(--irini-line); box-shadow: 0 26px 52px rgba(23,36,38,.16); opacity: 0; visibility: hidden; transform: translate(-40%,10px); transition: .18s ease; }
.irini-nav-group:hover .irini-mega-menu, .irini-nav-group:focus-within .irini-mega-menu { opacity: 1; visibility: visible; transform: translate(-40%,0); }
.irini-mega-menu > a, .irini-mega-intro { min-height: 152px; padding: 22px; border-left: 1px solid var(--irini-line); display: flex; flex-direction: column; color: var(--irini-ink); text-decoration: none; }
.irini-mega-menu > a:hover { background: var(--irini-paper); }
.irini-mega-menu b, .irini-mega-intro > span { color: var(--irini-clay); font-size: 9px; letter-spacing: .15em; text-transform: uppercase; }
.irini-mega-menu strong { margin-top: 28px; font: 500 21px Georgia,serif; }
.irini-mega-menu a span, .irini-mega-intro p { margin-top: auto; color: var(--irini-muted); font-size: 10px; }
.irini-mega-intro { border: 0; background: var(--irini-ink); color: var(--irini-light); }
.irini-mega-intro strong { margin-top: 22px; font-size: 25px; }
.irini-mega-intro p { color: #b9b9b1; }
.irini-mega-feature { min-height: 102px !important; grid-column: 1/-1; display: grid !important; grid-template-columns: 110px 1fr auto; align-items: center; gap: 24px; background: #e7ddd0; }
.irini-mega-feature strong, .irini-mega-feature span { margin-top: 0 !important; }
.irini-mobile-menu { display: none; position: relative; }
.irini-mobile-menu summary { cursor: pointer; list-style: none; padding: 8px 0; border-bottom: 1px solid var(--irini-ink); font-size: 10px; font-weight: 800; letter-spacing: .12em; text-transform: uppercase; }
.irini-mobile-menu summary::-webkit-details-marker { display: none; }
.irini-mobile-menu > div { width: min(340px,calc(100vw - 36px)); padding: 14px 18px; position: absolute; top: 48px; right: 0; display: flex; flex-direction: column; background: var(--irini-light); border: 1px solid var(--irini-line); box-shadow: 0 24px 42px rgba(23,36,38,.18); }
.irini-mobile-menu a { padding: 13px 0; border-bottom: 1px solid var(--irini-line); color: var(--irini-ink); text-decoration: none; font: 500 18px Georgia,serif; }

.irini-hero { min-height: 690px; display: grid; grid-template-columns: 61% 39%; background-color: var(--irini-paper); background-image: radial-gradient(rgba(23,36,38,.07) .75px,transparent .75px); background-size: 8px 8px; border-bottom: 1px solid var(--irini-line); }
.irini-hero-copy { padding: clamp(68px,8vw,124px) clamp(28px,6vw,98px) 78px; display: flex; flex-direction: column; justify-content: center; border-right: 1px solid var(--irini-line); }
.irini-hero h1 { max-width: 920px; margin: 0; font: 500 clamp(58px,6.3vw,100px)/.98 Georgia,serif; letter-spacing: -.045em; }
.irini-hero h1 em { color: var(--irini-clay); font-weight: 500; }
.irini-lead { max-width: 700px; margin: 34px 0 0; color: var(--irini-muted); font-size: clamp(18px,1.5vw,23px); line-height: 1.6; }
.irini-actions { margin-top: 42px; display: flex; align-items: center; gap: 34px; flex-wrap: wrap; }
.irini-hero-visual { min-height: 570px; position: relative; overflow: hidden; background-image: linear-gradient(145deg,rgba(215,200,178,.08),rgba(23,36,38,.08)),url("../images/hero-material-study.png"); background-size: cover; background-position: center; }
.irini-hero-visual:before { content:""; position:absolute; inset:0; background:linear-gradient(180deg,rgba(17,18,15,.03),rgba(17,18,15,.2)); }
.irini-hero-visual > span { position:absolute; z-index:2; top:24px; right:24px; padding:10px 14px; background:var(--irini-light); font-size:9px; letter-spacing:.12em; text-transform:uppercase; }
.irini-swatch { display:none; position:absolute; border:1px solid rgba(23,36,38,.36); box-shadow:16px 20px 30px rgba(35,25,15,.16); }
.irini-swatch-one { width:62%; height:55%; left:17%; top:15%; transform:rotate(7deg); background:repeating-linear-gradient(87deg,#ede7da 0 5px,#d8d1c4 6px 7px); }
.irini-swatch-two { width:58%; height:42%; left:48%; top:55%; transform:rotate(-5deg); background:repeating-linear-gradient(45deg,#a95239 0 32px,#c2785e 33px 35px,#a95239 36px 66px); }
.irini-swatch-three { width:44%; height:31%; left:-8%; top:58%; transform:rotate(4deg); background:radial-gradient(ellipse at 50% 20%,#fffdf7,#e3ded2 60%,#c7c0b4); }
.irini-hero-visual > p { position:absolute; right:24px; bottom:18px; margin:0; font:italic 16px Georgia,serif; }
.irini-proof { min-height:118px; display:grid; grid-template-columns:1.35fr repeat(4,1fr); background:var(--irini-light); border-bottom:1px solid var(--irini-line); }
.irini-proof > * { margin:0; padding:28px clamp(20px,2.5vw,42px); border-right:1px solid var(--irini-line); display:flex; align-items:center; gap:16px; }
.irini-proof > p { color:var(--irini-clay); font:italic 20px Georgia,serif; }
.irini-proof b { font:500 28px Georgia,serif; }
.irini-proof span { color:var(--irini-muted); font-size:10px; letter-spacing:.12em; text-transform:uppercase; }

.irini-product-grid { margin-top:72px; display:grid; grid-template-columns:repeat(3,1fr); border:1px solid var(--irini-line); }
.irini-product-grid article { min-width:0; background:var(--irini-light); border-right:1px solid var(--irini-line); }
.irini-product-grid article:last-child { border-right:0; }
.irini-material-visual { height:258px; position:relative; border-bottom:1px solid var(--irini-line); }
.irini-material-visual span { position:absolute; left:16px; bottom:14px; padding:7px 9px; background:rgba(251,248,242,.9); font-size:9px; letter-spacing:.14em; text-transform:uppercase; }
.irini-fabric { background:repeating-linear-gradient(86deg,#b8ad96 0 8px,#e0d5c0 9px 12px,#8a806c 13px 14px); }
.irini-wadding { background:radial-gradient(ellipse at 30% 20%,#fff,#eee9df 40%,transparent 41%),radial-gradient(ellipse at 70% 70%,#fff,#ddd6ca 45%,#c6bbaa); }
.irini-quilted { background-color:#65756c; background-image:repeating-linear-gradient(45deg,transparent 0 37px,rgba(255,255,255,.28) 38px 40px),repeating-linear-gradient(-45deg,transparent 0 37px,rgba(255,255,255,.28) 38px 40px); }
.irini-product-grid article > div:last-child { padding:34px; }
.irini-product-grid small, .irini-featured-grid small, .irini-pattern-grid small { color:var(--irini-clay); font-weight:800; letter-spacing:.14em; text-transform:uppercase; }
.irini-product-grid h3, .irini-featured-grid h3, .irini-pattern-grid h3 { margin:20px 0 14px; font:500 clamp(28px,2.2vw,38px) Georgia,serif; }
.irini-product-grid p, .irini-featured-grid p, .irini-pattern-grid p { color:var(--irini-muted); line-height:1.65; }
.irini-product-grid a { color:var(--irini-ink); text-decoration:none; font-size:12px; font-weight:750; }

.irini-dark-section { display:grid; grid-template-columns:42% 58%; background:var(--irini-dark); color:#f1eee6; }
.irini-dark-intro { padding:clamp(76px,8vw,128px) clamp(28px,6vw,96px); border-right:1px solid rgba(241,238,230,.17); }
.irini-dark-intro > p:not(.irini-eyebrow) { color:#bcb7ab; line-height:1.7; }
.irini-app-grid { display:grid; grid-template-columns:1fr 1fr; }
.irini-app-grid article { min-height:210px; padding:38px; border-right:1px solid rgba(241,238,230,.17); border-bottom:1px solid rgba(241,238,230,.17); }
.irini-app-grid b { color:var(--irini-brass); font:italic 18px Georgia,serif; }
.irini-app-grid h3 { margin:26px 0 10px; font:500 27px Georgia,serif; }
.irini-app-grid p { color:#aaa69c; font-size:14px; }

.irini-construction { display:grid; grid-template-columns:.84fr 1.16fr; gap:8vw; align-items:center; }
.irini-construction > div:first-child > p:not(.irini-eyebrow) { color:var(--irini-muted); line-height:1.7; }
.irini-construction ol { margin:38px 0 0; padding:0; list-style:none; border-top:1px solid var(--irini-line); }
.irini-construction li { padding:18px 0; border-bottom:1px solid var(--irini-line); }
.irini-construction li span { display:inline-block; width:48px; color:var(--irini-clay); font:italic 15px Georgia,serif; }
.irini-layer-stack { min-height:570px; padding:70px 8%; background:#e8dfd1; border:1px solid var(--irini-line); }
.irini-layer-stack > div { width:82%; height:120px; margin:0 auto 18px; padding:24px; display:flex; flex-direction:column; justify-content:space-between; border:1px solid rgba(23,36,38,.34); box-shadow:20px 17px 28px rgba(50,39,26,.1); }
.irini-layer-stack > div:nth-child(1) { transform:translateX(-5%) rotate(-2deg); background:repeating-linear-gradient(90deg,#c5b89f 0 7px,#e5dac5 8px 11px); }
.irini-layer-stack > div:nth-child(2) { transform:translateX(4%) rotate(1deg); background:radial-gradient(ellipse,#fff,#ddd5c8); }
.irini-layer-stack > div:nth-child(3) { transform:translateX(-2%) rotate(-1deg); background:#819087; }
.irini-layer-stack b { font:500 24px Georgia,serif; }
.irini-layer-stack span { font-size:9px; letter-spacing:.14em; text-transform:uppercase; }
.irini-layer-stack > p { text-align:center; color:var(--irini-muted); font:italic 17px Georgia,serif; }

.irini-featured { background:var(--irini-paper); }
.irini-featured-grid { margin-top:68px; display:grid; grid-template-columns:1fr 1fr; border:1px solid var(--irini-line); }
.irini-featured-grid article { padding:0 34px 36px; background:var(--irini-light); border-right:1px solid var(--irini-line); border-bottom:1px solid var(--irini-line); }
.irini-featured-grid article:nth-child(2n) { border-right:0; }
.irini-featured-art { height:280px; margin:0 -34px 28px; border-bottom:1px solid var(--irini-line); }
.art-one { background-color:#65756c; background-image:repeating-linear-gradient(45deg,transparent 0 31px,rgba(255,255,255,.26) 32px 34px),repeating-linear-gradient(-45deg,transparent 0 31px,rgba(255,255,255,.26) 32px 34px); }
.art-two { background:radial-gradient(ellipse at 38% 30%,#fff,#e8e0d4 43%,transparent 44%),radial-gradient(ellipse at 70% 72%,#fdfbf5,#d4cabb 48%,#b9aa94); }
.art-three { background:repeating-linear-gradient(90deg,#2f4345 0 28px,#3e5556 29px 31px); }
.art-four { background:repeating-linear-gradient(86deg,#ad6e55 0 7px,#cc8a6f 8px 11px,#86503e 12px 13px); }

.irini-pattern-library { background:#e7ddd0; }
.irini-pattern-grid { margin-top:70px; display:grid; grid-template-columns:repeat(3,1fr); border:1px solid var(--irini-line); }
.irini-pattern-grid article { padding:0 24px 24px; background:var(--irini-light); border-right:1px solid var(--irini-line); border-bottom:1px solid var(--irini-line); }
.irini-pattern-grid article:nth-child(3n) { border-right:0; }
.irini-pattern { height:250px; margin:0 -24px 24px; border-bottom:1px solid var(--irini-line); background-color:#d6cbbd; }
.pattern-diamond { background-image:repeating-linear-gradient(45deg,transparent 0 35px,rgba(23,36,38,.24) 36px 38px),repeating-linear-gradient(-45deg,transparent 0 35px,rgba(23,36,38,.24) 36px 38px); }
.pattern-channel { background-image:repeating-linear-gradient(90deg,transparent 0 40px,rgba(23,36,38,.28) 41px 43px); }
.pattern-wave { background-image:radial-gradient(ellipse at 50% 0,transparent 0 39px,rgba(23,36,38,.25) 40px 42px,transparent 43px); background-size:92px 62px; }
.pattern-square { background-image:repeating-linear-gradient(90deg,transparent 0 52px,rgba(23,36,38,.24) 53px 55px),repeating-linear-gradient(0deg,transparent 0 52px,rgba(23,36,38,.24) 53px 55px); }
.pattern-geo { background-image:repeating-linear-gradient(120deg,transparent 0 36px,rgba(23,36,38,.24) 37px 39px),repeating-linear-gradient(60deg,transparent 0 36px,rgba(23,36,38,.24) 37px 39px); }
.pattern-custom { background-image:radial-gradient(circle at 25% 25%,transparent 0 30px,rgba(23,36,38,.22) 31px 33px,transparent 34px),radial-gradient(circle at 75% 75%,transparent 0 30px,rgba(23,36,38,.22) 31px 33px,transparent 34px); background-size:112px 112px; }

.irini-capabilities { display:grid; grid-template-columns:.8fr 1.2fr; }
.irini-capability-intro { padding:clamp(76px,8vw,128px) clamp(28px,6vw,96px); border-right:1px solid var(--irini-line); }
.irini-capability-intro > p:not(.irini-eyebrow) { color:var(--irini-muted); line-height:1.7; }
.irini-capability-grid { display:grid; grid-template-columns:1fr 1fr; }
.irini-capability-grid article { min-height:250px; padding:38px; border-right:1px solid var(--irini-line); border-bottom:1px solid var(--irini-line); }
.irini-capability-grid b { color:var(--irini-clay); font:italic 18px Georgia,serif; }
.irini-capability-grid h3 { margin:52px 0 14px; font:500 25px Georgia,serif; }
.irini-capability-grid p { color:var(--irini-muted); font-size:14px; }

.irini-factory { display:grid; grid-template-columns:1fr 1fr; border-top:1px solid var(--irini-line); }
.irini-factory-placeholder { min-height:690px; padding:30px; display:flex; align-items:flex-end; background:linear-gradient(135deg,rgba(23,36,38,.2),rgba(23,36,38,.65)),repeating-linear-gradient(90deg,#9a978d 0 26px,#b6b1a4 27px 30px); }
.irini-factory-placeholder span { padding:10px 12px; background:var(--irini-light); font-size:10px; letter-spacing:.14em; text-transform:uppercase; }
.irini-factory > div:last-child { padding:clamp(70px,7vw,112px); }
.irini-factory > div:last-child > p:not(.irini-eyebrow) { color:var(--irini-muted); line-height:1.7; }
.irini-evidence { margin-top:44px; display:grid; grid-template-columns:1fr 1fr; border:1px solid var(--irini-line); }
.irini-evidence span { min-height:130px; padding:22px; display:flex; flex-direction:column; justify-content:space-between; color:var(--irini-muted); font-size:11px; border-right:1px solid var(--irini-line); border-bottom:1px solid var(--irini-line); }
.irini-evidence b { color:var(--irini-ink); font:500 20px Georgia,serif; }
.irini-process { background:var(--irini-paper); }
.irini-process > div { margin-top:66px; display:grid; grid-template-columns:repeat(4,1fr); border-top:1px solid var(--irini-ink); }
.irini-process article { min-height:260px; padding:30px; border-right:1px solid var(--irini-line); }
.irini-process article > b { color:var(--irini-clay); font:italic 19px Georgia,serif; }
.irini-process h3 { margin:50px 0 14px; font:500 25px Georgia,serif; }
.irini-process p { color:var(--irini-muted); font-size:14px; }

.irini-faq { display:grid; grid-template-columns:.72fr 1.28fr; gap:9vw; }
.irini-faq > div:first-child > p:last-child { color:var(--irini-muted); }
.irini-faq-list { border-top:1px solid var(--irini-ink); }
.irini-faq-list details { border-bottom:1px solid var(--irini-line); }
.irini-faq-list summary { min-height:88px; padding:24px 0; display:grid; grid-template-columns:1fr 24px; align-items:center; cursor:pointer; list-style:none; font:500 clamp(18px,1.6vw,24px) Georgia,serif; }
.irini-faq-list summary::-webkit-details-marker { display:none; }
.irini-faq-list summary b { color:var(--irini-clay); font:400 22px Arial,sans-serif; }
.irini-faq-list details[open] summary b { transform:rotate(45deg); }
.irini-faq-list details > p { margin:0 30px 28px 0; color:var(--irini-muted); line-height:1.7; }

.irini-contact { padding:clamp(90px,10vw,160px) clamp(28px,8vw,130px); text-align:center; background:var(--irini-ink); color:var(--irini-light); }
.irini-contact .irini-eyebrow { color:var(--irini-brass); }
.irini-contact > p:not(.irini-eyebrow) { max-width:720px; margin:28px auto 0; color:#b8b7ae; line-height:1.7; }
.irini-contact > div { max-width:1060px; margin:58px auto 0; display:grid; grid-template-columns:1fr 1fr; border:1px solid rgba(251,248,242,.28); text-align:left; }
.irini-contact a { min-height:300px; padding:clamp(28px,4vw,54px); display:flex; flex-direction:column; color:var(--irini-light); text-decoration:none; border-right:1px solid rgba(251,248,242,.28); }
.irini-contact a:last-child { border-right:0; }
.irini-contact a:hover { background:var(--irini-light); color:var(--irini-ink); }
.irini-contact a > span, .irini-contact a > b { color:var(--irini-brass); font-size:10px; letter-spacing:.15em; text-transform:uppercase; }
.irini-contact a > strong { margin-top:36px; font:500 clamp(30px,3vw,44px) Georgia,serif; }
.irini-contact a > p { color:#aaa9a1; font-size:14px; }
.irini-contact a > b { margin-top:auto; }

.irini-footer { padding:62px clamp(24px,6vw,96px) 30px; display:grid; grid-template-columns:2fr repeat(3,1fr); gap:54px; background:var(--irini-light); border-top:1px solid var(--irini-line); }
.irini-footer > div { display:flex; flex-direction:column; gap:10px; }
.irini-footer-brand b { font-size:16px; letter-spacing:.14em; }
.irini-footer span { color:var(--irini-muted); font-size:11px; }
.irini-footer a { color:var(--irini-ink); text-decoration:none; font-size:13px; }
.irini-footer > p { grid-column:1/-1; padding-top:24px; border-top:1px solid var(--irini-line); color:var(--irini-muted); font-size:10px; }
.irini-entry-shell, .irini-404 { padding:clamp(80px,9vw,140px) 22px; }

.irini-enquiry-page { background:var(--irini-light); }
.irini-enquiry-hero { min-height:390px; padding:clamp(68px,6vw,96px) clamp(24px,6vw,96px); display:grid; grid-template-columns:1.15fr .85fr; gap:9vw; align-items:center; box-sizing:border-box; background-color:var(--irini-paper); background-image:radial-gradient(rgba(23,36,38,.07) .75px,transparent .75px); background-size:8px 8px; border-bottom:1px solid var(--irini-line); }
.irini-enquiry-hero h1 { margin:0; font:500 clamp(58px,6.5vw,102px)/.96 Georgia,serif; letter-spacing:-.05em; }
.irini-enquiry-hero h1 em { color:var(--irini-clay); font-weight:500; }
.irini-enquiry-hero > div:last-child > p:first-child { max-width:610px; margin:0; color:var(--irini-muted); font-size:clamp(18px,1.55vw,24px); line-height:1.6; }
.irini-enquiry-note { margin:32px 0 0; padding:20px 0 0; border-top:1px solid var(--irini-line); color:var(--irini-muted); font-size:13px; line-height:1.65; }
.irini-enquiry-hero-quote { background-color:#e8dfd1; }
.irini-enquiry-layout { display:grid; grid-template-columns:minmax(0,1.3fr) minmax(320px,.7fr); border-bottom:1px solid var(--irini-line); }
.irini-enquiry-form { min-width:0; padding:clamp(54px,6vw,96px); }
.irini-form-status { margin-bottom:48px; padding:18px 20px; display:grid; grid-template-columns:120px 1fr; gap:20px; background:#e7ddd0; border-left:3px solid var(--irini-clay); color:var(--irini-muted); font-size:12px; line-height:1.55; }
.irini-form-status b { color:var(--irini-ink); font-size:11px; letter-spacing:.13em; text-transform:uppercase; }
.irini-enquiry-form fieldset { margin:0 0 48px; padding:0; border:0; }
.irini-enquiry-form legend { width:100%; margin:0 0 32px; padding:0 0 18px; display:flex; gap:20px; border-bottom:1px solid var(--irini-ink); color:var(--irini-ink); font:500 clamp(25px,2.4vw,36px) Georgia,serif; }
.irini-enquiry-form legend span { color:var(--irini-clay); font:italic 15px Georgia,serif; }
.irini-field-grid { display:grid; grid-template-columns:1fr 1fr; gap:26px 22px; }
.irini-field-grid > label, .irini-choice-field { min-width:0; display:flex; flex-direction:column; gap:10px; }
.irini-field-grid label > span, .irini-choice-field > span { color:var(--irini-ink); font-size:11px; font-weight:800; letter-spacing:.1em; text-transform:uppercase; }
.irini-field-grid label > span b, .irini-choice-field > span b, .irini-form-submit p b { color:var(--irini-clay); }
.irini-field-grid input:not([type="checkbox"]), .irini-field-grid select, .irini-field-grid textarea { width:100%; box-sizing:border-box; border:1px solid var(--irini-line); border-radius:0; background:#fffdfa; color:var(--irini-ink); font:400 15px/1.5 Arial,sans-serif; box-shadow:none; }
.irini-field-grid input:not([type="checkbox"]), .irini-field-grid select { height:54px; padding:0 15px; }
.irini-field-grid textarea { min-height:126px; padding:15px; resize:vertical; }
.irini-field-grid input:focus, .irini-field-grid select:focus, .irini-field-grid textarea:focus { outline:2px solid rgba(184,95,67,.38); outline-offset:1px; border-color:var(--irini-clay); }
.irini-field-grid input::placeholder, .irini-field-grid textarea::placeholder { color:#8a8981; opacity:1; }
.irini-field-wide { grid-column:1/-1; }
.irini-field-grid small { color:var(--irini-muted); font-size:11px; line-height:1.5; }
.irini-field-grid input[type="file"] { padding:14px; }
.irini-field-grid input[type="file"]:disabled { opacity:.55; cursor:not-allowed; }
.irini-optional-specs { margin:0 0 48px; border-top:1px solid var(--irini-ink); border-bottom:1px solid var(--irini-line); }
.irini-optional-specs summary { min-height:76px; padding:0 4px; display:flex; align-items:center; justify-content:space-between; gap:20px; cursor:pointer; list-style:none; }
.irini-optional-specs summary::-webkit-details-marker { display:none; }
.irini-optional-specs summary > span { display:flex; align-items:center; gap:16px; font:500 clamp(22px,2vw,30px) Georgia,serif; }
.irini-optional-specs summary b { color:var(--irini-clay); font:italic 14px Georgia,serif; }
.irini-optional-specs summary small { padding:6px 8px; background:#e7ddd0; color:var(--irini-muted); font:800 9px Arial,sans-serif; letter-spacing:.12em; text-transform:uppercase; }
.irini-optional-specs summary i { color:var(--irini-clay); font:400 24px Arial,sans-serif; font-style:normal; transition:transform .18s ease; }
.irini-optional-specs[open] summary i { transform:rotate(45deg); }
.irini-optional-content { padding:8px 0 38px; }
.irini-optional-content > p { margin:0 0 28px; color:var(--irini-muted); font-size:13px; line-height:1.6; }
.irini-form-submit { padding-top:34px; border-top:1px solid var(--irini-ink); }
.irini-form-submit > label { display:flex; align-items:flex-start; gap:10px; color:var(--irini-muted); font-size:12px; }
.irini-form-submit button { width:100%; min-height:58px; margin-top:24px; border:0; border-radius:0; background:var(--irini-ink); color:var(--irini-light); font-size:11px; font-weight:800; letter-spacing:.13em; text-transform:uppercase; }
.irini-form-submit button:disabled { background:#777973; cursor:not-allowed; }
.irini-form-submit > p { margin:14px 0 0; color:var(--irini-muted); font-size:11px; }
.irini-contact-panel { padding:clamp(54px,5vw,82px); border-left:1px solid var(--irini-line); background:var(--irini-paper); }
.irini-contact-card { min-height:560px; padding:clamp(34px,4vw,58px); position:sticky; top:30px; display:flex; flex-direction:column; box-sizing:border-box; background:var(--irini-light); border:1px solid rgba(175,146,91,.65); box-shadow:0 26px 60px rgba(69,52,31,.08); }
.irini-contact-card h2 { margin:0; font:500 clamp(32px,3vw,48px)/1 Georgia,serif; letter-spacing:-.035em; }
.irini-contact-scope { margin:16px 0 0; color:var(--irini-clay); font:italic 17px Georgia,serif; }
.irini-contact-card dl { margin:42px 0 0; display:grid; gap:24px; }
.irini-contact-card dl > div { display:grid; gap:7px; }
.irini-contact-card dt { color:var(--irini-brass); font-size:9px; font-weight:800; letter-spacing:.2em; text-transform:uppercase; }
.irini-contact-card dd { margin:0; color:var(--irini-muted); font-size:14px; }
.irini-contact-actions { margin:34px 0 0; display:grid; grid-template-columns:1fr 1fr; gap:10px; }
.irini-contact-actions span { min-height:46px; padding:0 12px; display:flex; align-items:center; justify-content:center; border:1px solid var(--irini-line); color:var(--irini-muted); font-size:10px; font-weight:800; letter-spacing:.08em; text-align:center; text-transform:uppercase; opacity:.72; }
.irini-contact-brief { margin:36px 0 0; padding-top:26px; border-top:1px solid var(--irini-line); }
.irini-contact-brief b { color:var(--irini-ink); font-size:10px; letter-spacing:.14em; text-transform:uppercase; }
.irini-contact-brief p { margin:10px 0 0; color:var(--irini-muted); font-size:13px; line-height:1.65; }
.irini-contact-card > a { margin-top:auto; padding-top:34px; color:var(--irini-ink); text-decoration:none; font-size:10px; font-weight:800; letter-spacing:.09em; text-transform:uppercase; }
.irini-whatsapp-placeholder { min-width:154px; min-height:54px; padding:0 18px; position:fixed; z-index:19; right:20px; bottom:20px; display:grid; grid-template-columns:30px 1fr; grid-template-rows:1fr 1fr; align-items:center; column-gap:8px; border:1px solid rgba(251,248,242,.3); border-radius:0; background:var(--irini-ink); color:var(--irini-light); box-shadow:0 16px 34px rgba(17,18,15,.2); opacity:.86; }
.irini-whatsapp-placeholder b { grid-row:1/-1; width:30px; height:30px; display:grid; place-items:center; border:1px solid var(--irini-brass); border-radius:50%; color:var(--irini-brass); font-size:9px; }
.irini-whatsapp-placeholder span { align-self:end; text-align:left; font-size:10px; font-weight:800; letter-spacing:.08em; text-transform:uppercase; }
.irini-whatsapp-placeholder small { align-self:start; color:#aaa9a1; text-align:left; font-size:8px; }

@media (max-width: 980px) {
  .irini-header { min-height:72px; grid-template-columns:1fr auto auto; gap:22px; }
  .irini-desktop-nav { display:none; }
  .irini-mobile-menu { display:block; }
  .irini-hero, .irini-dark-section, .irini-construction, .irini-capabilities, .irini-factory, .irini-faq, .irini-split-heading { grid-template-columns:1fr; }
  .irini-hero-copy { border-right:0; }
  .irini-proof { grid-template-columns:1fr 1fr; }
  .irini-proof > p { grid-column:1/-1; }
  .irini-product-grid { grid-template-columns:1fr; }
  .irini-product-grid article { display:grid; grid-template-columns:42% 58%; border-right:0; border-bottom:1px solid var(--irini-line); }
  .irini-material-visual { height:auto; min-height:330px; border-right:1px solid var(--irini-line); }
  .irini-featured-grid, .irini-pattern-grid { grid-template-columns:1fr 1fr; }
  .irini-pattern-grid article:nth-child(3n) { border-right:1px solid var(--irini-line); }
  .irini-pattern-grid article:nth-child(2n) { border-right:0; }
  .irini-capability-intro { border-right:0; border-bottom:1px solid var(--irini-line); }
  .irini-process > div { grid-template-columns:1fr 1fr; }
  .irini-faq { gap:56px; }
  .irini-footer { grid-template-columns:2fr 1fr 1fr; }
  .irini-enquiry-hero, .irini-enquiry-layout { grid-template-columns:1fr; }
  .irini-enquiry-hero { gap:48px; align-items:start; }
  .irini-contact-panel { order:-1; padding:48px; border-left:0; border-bottom:1px solid var(--irini-line); }
  .irini-contact-card { min-height:auto; position:static; }
  .irini-contact-card dl { grid-template-columns:repeat(3,1fr); }
  .irini-contact-card > a { margin-top:34px; }
}

@media (max-width: 640px) {
  .irini-header { padding:0 18px; grid-template-columns:1fr auto; gap:14px; }
  .irini-header-cta { display:none; }
  .irini-brand { font-size:12px; }
  .irini-brand-mark { width:32px; height:32px; }
  .irini-hero { min-height:auto; }
  .irini-hero-copy { padding:70px 22px 64px; }
  .irini-hero h1 { font-size:50px; }
  .irini-actions { align-items:flex-start; flex-direction:column; }
  .irini-hero-visual { min-height:430px; }
  .irini-hero-visual > span { left:18px; right:auto; max-width:calc(100% - 36px); }
  .irini-proof { grid-template-columns:1fr; }
  .irini-proof > p { grid-column:auto; }
  .irini-section { padding:76px 20px; }
  .irini-section h2, .irini-dark-section h2, .irini-capabilities h2, .irini-factory h2, .irini-contact h2 { font-size:43px; }
  .irini-split-heading { gap:28px; }
  .irini-product-grid article { display:block; }
  .irini-material-visual { min-height:230px; border-right:0; }
  .irini-dark-intro { padding:76px 22px; }
  .irini-app-grid, .irini-featured-grid, .irini-pattern-grid, .irini-capability-grid, .irini-evidence, .irini-process > div, .irini-contact > div { grid-template-columns:1fr; }
  .irini-app-grid article { min-height:180px; padding:28px 22px; }
  .irini-layer-stack { min-height:520px; padding:56px 5%; }
  .irini-layer-stack > div { width:92%; }
  .irini-featured-grid article, .irini-pattern-grid article, .irini-pattern-grid article:nth-child(3n) { border-right:0; }
  .irini-capability-intro, .irini-factory > div:last-child { padding:76px 22px; }
  .irini-capability-grid article { min-height:220px; padding:30px 22px; }
  .irini-factory-placeholder { min-height:360px; }
  .irini-process article { min-height:210px; }
  .irini-contact { padding:90px 22px; }
  .irini-contact a { min-height:280px; border-right:0; border-bottom:1px solid rgba(251,248,242,.28); }
  .irini-footer { grid-template-columns:1fr 1fr; padding:52px 22px 24px; gap:34px; }
  .irini-footer-brand { grid-column:1/-1; }
  .irini-enquiry-hero { min-height:auto; padding:76px 22px; gap:34px; }
  .irini-enquiry-hero h1 { font-size:49px; }
  .irini-enquiry-form { padding:58px 20px 76px; }
  .irini-form-status { margin-bottom:48px; grid-template-columns:1fr; gap:8px; }
  .irini-enquiry-form fieldset { margin-bottom:46px; }
  .irini-enquiry-form legend { font-size:27px; }
  .irini-field-grid { grid-template-columns:1fr; }
  .irini-contact-panel { padding:14px 20px; }
  .irini-contact-card { padding:24px; box-shadow:none; }
  .irini-contact-card .irini-eyebrow, .irini-contact-scope, .irini-contact-actions, .irini-contact-brief, .irini-contact-card > a { display:none; }
  .irini-contact-card h2 { font-size:29px; letter-spacing:.02em; }
  .irini-contact-card dl { margin:22px 0 0; grid-template-columns:1fr; gap:12px; }
  .irini-contact-card dl > div { grid-template-columns:88px 1fr; align-items:center; gap:10px; }
  .irini-contact-card dt { font-size:8px; }
  .irini-contact-card dd { font-size:13px; }
  .irini-optional-specs summary > span { align-items:flex-start; flex-wrap:wrap; gap:8px 12px; font-size:22px; }
  .irini-whatsapp-placeholder { min-width:48px; width:48px; min-height:48px; height:48px; padding:0; right:14px; bottom:calc(76px + env(safe-area-inset-bottom)); display:grid; grid-template-columns:1fr; grid-template-rows:1fr; place-items:center; border-radius:50%; }
  .irini-whatsapp-placeholder b { grid-row:auto; width:28px; height:28px; }
  .irini-whatsapp-placeholder span, .irini-whatsapp-placeholder small { position:absolute; width:1px; height:1px; overflow:hidden; clip:rect(0 0 0 0); white-space:nowrap; }
}

@media (prefers-reduced-motion: reduce) { html { scroll-behavior:auto; } }
