/* Wishnest Interior — site.css. Tokens from the Website UI System. */
@font-face{font-family:Manrope;src:url(/assets/fonts/Manrope-Variable.woff2) format("woff2");font-weight:200 800;font-display:swap}
@font-face{font-family:Inter;src:url(/assets/fonts/Inter-Variable.woff2) format("woff2");font-weight:100 900;font-display:swap}
:root{--graphite:#2f2f31;--taupe:#8e8176;--sand:#d6c9b9;--soft-white:#f8f6f2;--white:#ffffff;--state-error:#a4312a;--ink:var(--graphite);--surface:var(--soft-white);--surface-raised:var(--white);--surface-block:var(--sand);--surface-dark:var(--graphite);--on-dark:var(--white);--on-dark-soft:var(--sand);--border-subtle:var(--sand);--border-control:var(--taupe);--space-1:4px;--space-2:8px;--space-3:12px;--space-4:16px;--space-5:24px;--space-6:32px;--space-7:48px;--space-8:64px;--space-9:96px;--space-10:128px;--radius-0:0px;--radius-sm:2px;--radius-md:4px;--shadow-rule-bottom:0 1px 0 #d6c9b9;--shadow-rule-top:0 -1px 0 #d6c9b9;--container-max:1200px;--gutter-mobile:20px;--gutter-desktop:32px;--header-h-mobile:68px;--header-h-desktop:79px;--logo-h-mobile:48px;--logo-h-desktop:56px;--tap-min:48px;--font-display:Manrope, "Segoe UI", Arial, sans-serif;--font-body:Inter, "Segoe UI", Roboto, Arial, sans-serif}
/* Wishnest Interior — website stylesheet foundation (Phase 4). Tokens come from tokens.css. */
*,*::before,*::after{box-sizing:border-box}
html{scroll-padding-top:88px}
.wi{margin:0;font-family:var(--font-body);font-size:16px;line-height:26px;color:var(--ink);background:var(--surface);-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility}
.wi img{max-width:100%;display:block}
:where(.wi) a{color:inherit;text-underline-offset:3px;text-decoration-thickness:1px}
.wi :focus-visible{outline:2px solid var(--graphite);outline-offset:3px}
.wi-dark :focus-visible{outline-color:var(--white)}
.wi-container{max-width:var(--container-max);margin-inline:auto;padding-inline:var(--gutter-mobile)}
@media (min-width:768px){.wi-container{padding-inline:var(--gutter-desktop)}}
.wi-ic{width:20px;height:20px;flex:none}
/* type */
.wi-h1,.wi-h2,.wi-h3,.wi-h4{font-family:var(--font-display);margin:0;color:inherit;text-wrap:balance}
.wi-h1{font-size:32px;line-height:38px;font-weight:700;letter-spacing:-.01em}
.wi-h2{font-size:26px;line-height:32px;font-weight:700}
.wi-h3{font-size:22px;line-height:30px;font-weight:600}
.wi-h4{font-size:18px;line-height:26px;font-weight:600}
@media (min-width:1024px){.wi-h1{font-size:52px;line-height:56px;letter-spacing:-.015em}.wi-h2{font-size:38px;line-height:46px;letter-spacing:-.01em}}
.wi-lead{font-size:18px;line-height:28px;margin:0;max-width:60ch}
.wi-p{margin:0;max-width:70ch}
.wi-small{font-size:14px;line-height:22px}
.wi-descriptor{font-size:12px;line-height:16px;font-weight:600;letter-spacing:.08em;text-transform:uppercase}
/* junction rule */
.wi-jrule{display:block;width:180px;height:7.2px;overflow:visible;margin-top:16px}
.wi-jrule polyline{fill:none;stroke:var(--taupe);stroke-width:2;stroke-linejoin:miter}
.wi-dark .wi-jrule polyline{stroke:var(--taupe)}
.wi-head{margin-bottom:32px}
@media (min-width:1024px){.wi-head{margin-bottom:48px}}
.wi-head .wi-lead{margin-top:16px}
/* sections */
.wi-section{padding-block:64px;position:relative;overflow:hidden}
@media (min-width:1024px){.wi-section{padding-block:96px}}
.wi-section--block{background:var(--surface-block)}
.wi-dark{background:var(--surface-dark);color:var(--on-dark-soft)}
.wi-dark .wi-h1,.wi-dark .wi-h2,.wi-dark .wi-h3{color:var(--on-dark)}
/* buttons */
.wi-btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;min-height:var(--tap-min);padding:0 20px;border-radius:var(--radius-sm);font:600 16px/24px var(--font-body);text-decoration:none!important;border:1.5px solid transparent;cursor:pointer;white-space:normal;text-align:center;max-width:100%}
.wi-btn--primary{background:var(--graphite);color:var(--white);border-color:var(--graphite)}
.wi-btn--primary:hover{box-shadow:inset 0 -3px 0 var(--taupe)}
.wi-btn--secondary{background:transparent;color:var(--graphite);border-color:var(--graphite)}
.wi-btn--secondary:hover{background:var(--sand)}
.wi-btn--light{background:var(--white);color:var(--graphite);border-color:var(--white)}
.wi-btn--light:hover{box-shadow:inset 0 -3px 0 var(--taupe)}
.wi-btn--outline-light{background:transparent;color:var(--white);border-color:var(--white)}
.wi-btn--outline-light:hover{background:rgba(255,255,255,.08)}
.wi-btn--block{width:100%}
.wi-actions{display:flex;flex-wrap:wrap;gap:12px}
@media (max-width:767px){.wi-actions--stack{display:grid;grid-template-columns:1fr 1fr}.wi-actions--stack .wi-btn:first-child{grid-column:1/-1}}
/* header */
.wi-header{background:var(--surface);box-shadow:var(--shadow-rule-bottom);position:sticky;top:0;z-index:20}
.wi-header__bar{display:flex;align-items:center;justify-content:space-between;height:var(--header-h-mobile);gap:24px}
.wi-logo{display:block;padding-inline:10px;margin-left:-10px}
.wi-logo img{height:var(--logo-h-mobile);width:auto}
.wi-nav,.wi-header__cta{display:none}
.wi-menu-btn{display:inline-flex;align-items:center;justify-content:center;width:48px;height:48px;border:0;background:none;color:var(--graphite);margin-right:-12px;cursor:pointer}
.wi-menu-btn .wi-ic{width:26px;height:26px}
@media (min-width:1024px){
 .wi-header__bar{height:var(--header-h-desktop)}
 .wi-logo img{height:var(--logo-h-desktop)}
 .wi-nav{display:flex;gap:24px;font:500 15px/20px var(--font-body);white-space:nowrap}
 .wi-nav a{text-decoration:none;display:inline-flex;align-items:center;gap:2px;min-height:48px}
 .wi-nav a:hover{text-decoration:underline}
 .wi-nav .wi-ic{width:16px;height:16px}
 .wi-header__cta{display:flex;align-items:center;gap:20px}
 .wi-header__tel{white-space:nowrap;font:600 15px/20px var(--font-body);text-decoration:none;display:inline-flex;gap:6px;align-items:center}
 .wi-menu-btn{display:none}}
/* mobile menu */
.wi-mmenu{background:var(--surface);padding:8px 0 24px}
.wi-mmenu__group{border-top:1px solid var(--border-subtle);padding:16px 0}
.wi-mmenu__title{font:600 18px/26px var(--font-display);margin:0 0 8px}
.wi-mmenu a{display:flex;align-items:center;min-height:44px;text-decoration:none;font-size:16px}
.wi-mmenu__links a{font:600 18px/26px var(--font-display)}
/* sticky bar */
.wi-sticky{position:sticky;bottom:0;display:grid;grid-template-columns:repeat(3,1fr);gap:8px;padding:8px var(--gutter-mobile) calc(8px + env(safe-area-inset-bottom,0px));background:var(--surface);box-shadow:var(--shadow-rule-top);z-index:20}
.wi-sticky .wi-btn{padding:0 8px;font-size:15px;gap:6px}
@media (min-width:1024px){.wi-sticky{display:none}}
/* hero */
.wi-hero{padding-block:32px 48px}
.wi-hero__grid{display:grid;gap:32px}
.wi-hero__text{display:grid;gap:20px;align-content:center}
@media (min-width:1024px){.wi-hero{padding-block:64px 96px}.wi-hero__grid{grid-template-columns:5fr 7fr;gap:56px;align-items:stretch}.wi-hero__photo{min-height:520px;margin-right:calc(-1 * var(--gutter-desktop))}}
/* fact row */
.wi-facts{display:grid;grid-template-columns:repeat(3,1fr);margin:8px 0 0;border-top:1px solid var(--border-subtle);border-bottom:1px solid var(--border-subtle)}
.wi-facts div{padding:14px 12px 14px 0}
.wi-facts div+div{padding-left:12px;border-left:1px solid var(--border-subtle)}
.wi-facts dt{font-size:13px;line-height:18px;font-weight:500}
.wi-facts dd{margin:4px 0 0;font:600 17px/22px var(--font-display)}
@media (min-width:768px){.wi-facts dd{font-size:20px;line-height:26px}}
/* photo slot (placeholder for real Wishnest photography) */
.wi-photo{background:repeating-linear-gradient(135deg,var(--sand) 0 10px,#cdbfae 10px 11px);border-radius:var(--radius-md);display:grid;place-items:center;text-align:center;padding:16px;font-size:13px;line-height:18px;color:var(--graphite);aspect-ratio:1/1;overflow:hidden}   /* r5.5: square frames show more of each photo (owner choice, option A); wide + hero frames unchanged */
.wi-photo b{display:block;font-weight:600}
.wi-photo--wide{aspect-ratio:3/2}
.wi-hero__photo.wi-photo{aspect-ratio:4/3}
@media (min-width:1024px){.wi-hero__photo.wi-photo{aspect-ratio:auto;border-radius:var(--radius-md) 0 0 var(--radius-md)}}
/* cards */
.wi-grid{display:grid;gap:24px}
@media (min-width:768px){.wi-grid--2{grid-template-columns:repeat(2,1fr)}.wi-grid--3{grid-template-columns:repeat(2,1fr)}}
@media (min-width:1024px){.wi-grid--3{grid-template-columns:repeat(3,1fr)}}
.wi-card{background:var(--surface-raised);border:1px solid var(--border-subtle);border-radius:var(--radius-md);display:flex;flex-direction:column;overflow:hidden}
.wi-card .wi-photo{border-radius:0}
.wi-card__body{padding:24px;display:grid;gap:12px;flex:1;align-content:start}
.wi-card__list{margin:0;padding:0;list-style:none;display:grid;gap:4px}
.wi-card__list li{padding-left:16px;position:relative}
.wi-card__list li::before{content:"";position:absolute;left:0;top:12px;width:8px;height:2px;background:var(--taupe)}
.wi-card__link{font-weight:600;margin-top:auto}
/* project tile */
.wi-tile{display:grid;gap:12px;text-decoration:none!important}
.wi-tile__title{font:600 17px/24px var(--font-body);margin:0}
.wi-tile__meta{font-size:14px;line-height:20px;margin:2px 0 0}
.wi-tile:hover .wi-tile__title{text-decoration:underline}
/* audience */
.wi-cols{display:grid;gap:24px}
@media (min-width:768px){.wi-cols{grid-template-columns:repeat(3,1fr);gap:32px}}
.wi-cols h3{margin-bottom:8px}
/* steps (a real sequence, so numbered) */
.wi-steps{list-style:none;margin:0;padding:0;display:grid;gap:0;counter-reset:s}
.wi-steps li{counter-increment:s;display:grid;grid-template-columns:48px 1fr;gap:4px 12px;padding:16px 0;border-top:1px solid var(--border-subtle)}
.wi-steps li::before{content:counter(s);grid-row:span 2;font:700 28px/32px var(--font-display);color:var(--taupe)}
.wi-steps h3{font:600 18px/26px var(--font-display);margin:0}
.wi-steps p{margin:0;font-size:15px;line-height:24px}
@media (min-width:1024px){.wi-steps{grid-template-columns:repeat(5,1fr);gap:24px}.wi-steps li{grid-template-columns:1fr;padding:20px 0 0;border-top:2px solid var(--graphite)}.wi-steps li::before{grid-row:auto;margin-bottom:8px}}
/* why */
.wi-split{display:grid;gap:32px;align-items:center}
@media (min-width:1024px){.wi-split{grid-template-columns:1fr 1fr;gap:64px}}
.wi-points{list-style:none;margin:0;padding:0;display:grid;gap:20px}
.wi-points li{display:grid;gap:4px;padding-left:20px;border-left:2px solid var(--taupe)}
.wi-points b{font:600 18px/26px var(--font-display)}
/* areas */
.wi-areas{display:flex;flex-wrap:wrap;gap:8px;margin:0;padding:0;list-style:none}
.wi-areas a{display:inline-flex;align-items:center;min-height:44px;padding:0 16px;border:1px solid var(--graphite);border-radius:var(--radius-sm);text-decoration:none;font-weight:500}
.wi-areas a:hover{background:var(--sand)}
/* faq */
.wi-faq{border-bottom:1px solid var(--border-subtle);max-width:820px}
.wi-faq details{border-top:1px solid var(--border-subtle)}
.wi-faq summary{list-style:none;display:flex;justify-content:space-between;align-items:center;gap:16px;min-height:56px;padding:12px 0;cursor:pointer;font:600 18px/26px var(--font-display)}
.wi-faq summary::-webkit-details-marker{display:none}
.wi-faq summary .wi-ic{transition:transform .2s}
.wi-faq details[open] summary .wi-ic{transform:rotate(45deg)}
.wi-faq details p{margin:0 0 20px;max-width:70ch}
@media (prefers-reduced-motion:reduce){.wi-faq summary .wi-ic{transition:none}}
/* breadcrumbs */
.wi-crumbs{font-size:14px;line-height:20px;padding-top:20px}
.wi-crumbs ol{list-style:none;margin:0;padding:0;display:flex;flex-wrap:wrap;gap:8px}
.wi-crumbs li+li::before{content:"/";margin-right:8px;color:var(--taupe)}
.wi-crumbs [aria-current]{font-weight:500}
/* CTA + enquiry (dark block with edge band) */
.wi-cta__grid{display:grid;gap:32px;position:relative;z-index:1}
@media (min-width:1024px){.wi-cta__grid{grid-template-columns:5fr 7fr;gap:48px;max-width:68%}}
.wi-cta .wi-lead{color:var(--on-dark-soft)}
.wi-band{position:absolute;right:0;bottom:0;width:22%;max-width:300px;height:auto;pointer-events:none;display:none}
@media (min-width:1024px){.wi-band{display:block}}
.wi-direct{display:grid;gap:12px;margin-top:8px}
.wi-direct a,.wi-direct span{display:flex;align-items:center;gap:10px;color:var(--on-dark)}
.wi-note{font-size:14px;line-height:22px;color:var(--on-dark-soft);margin:0}
/* form */
.wi-form{background:var(--surface-raised);color:var(--ink);border-radius:var(--radius-md);padding:24px;display:grid;gap:16px}
@media (min-width:768px){.wi-form{padding:32px;grid-template-columns:1fr 1fr;gap:20px}.wi-form .wi-field--full,.wi-form .wi-form__foot{grid-column:1/-1}}
.wi-form__title{font:700 22px/30px var(--font-display);margin:0;grid-column:1/-1}
.wi-field{display:grid;gap:6px;align-content:start}
.wi-field label{font:500 14px/20px var(--font-body)}
.wi-field label em{font-style:normal;font-weight:400}
.wi-input{width:100%;min-height:48px;padding:10px 12px;font:400 16px/24px var(--font-body);color:var(--ink);background:var(--white);border:1.5px solid var(--border-control);border-radius:var(--radius-sm);appearance:none}
select.wi-input{background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%232f2f31' stroke-width='1.75'%3E%3Cpath d='M7 10l5 5 5-5'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 10px center;background-size:20px;padding-right:40px}
textarea.wi-input{min-height:96px;resize:vertical}
.wi-input:focus{outline:2px solid var(--graphite);outline-offset:1px;border-color:var(--graphite)}
.wi-field--error .wi-input{border-color:var(--state-error);border-width:2px}
.wi-error{display:flex;gap:6px;align-items:flex-start;font-size:14px;line-height:20px;color:var(--state-error);font-weight:500}
.wi-error .wi-ic{width:18px;height:18px;margin-top:1px}
.wi-hp{position:absolute;left:-9999px;width:1px;height:1px;overflow:hidden}
.wi-form__foot{display:grid;gap:12px}
.wi-form__consent{font-size:13px;line-height:20px;margin:0}
/* footer */
.wi-footer{background:var(--surface-dark);color:var(--on-dark-soft);padding:56px 0 calc(24px + 64px);font-size:15px;line-height:24px}
@media (min-width:1024px){.wi-footer{padding-bottom:24px}}
.wi-footer__top{display:grid;gap:32px}
.wi-footer__logo img{height:48px;width:auto}
.wi-footer__cols{display:grid;gap:32px;grid-template-columns:1fr 1fr}
@media (min-width:1024px){.wi-footer__top{grid-template-columns:3fr 9fr}.wi-footer__cols{grid-template-columns:repeat(4,1fr)}}
.wi-footer h2{font:600 16px/24px var(--font-display);color:var(--on-dark);margin:0 0 12px}
.wi-footer ul{list-style:none;margin:0;padding:0;display:grid;gap:6px}
.wi-footer a{text-decoration:none}.wi-footer a:hover{text-decoration:underline;color:var(--on-dark)}
.wi-footer__bottom{margin-top:40px;padding-top:20px;display:flex;flex-wrap:wrap;gap:12px 24px;justify-content:space-between;font-size:14px}
.wi-footer .wi-jrule{width:240px;height:9.6px;margin:40px 0 0}
.wi-ph{outline:1px dashed var(--taupe);outline-offset:2px}

/* ---- site additions (Phase 5) ---- */
.wi-skip{position:absolute;left:-9999px;top:0;background:var(--graphite);color:var(--white)!important;padding:12px 16px;z-index:100}
.wi-skip:focus{left:8px;top:8px}
.wi-sr{position:absolute!important;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}
.wi-header__bar{position:relative}
.wi-drop{position:relative}
.wi-drop>summary{list-style:none;display:inline-flex;align-items:center;gap:2px;min-height:48px;cursor:pointer}
.wi-drop>summary::-webkit-details-marker{display:none}
.wi-drop>summary:hover{text-decoration:underline}
.wi-drop__panel{position:absolute;left:-24px;top:100%;background:var(--white);border:1px solid var(--border-subtle);border-radius:var(--radius-md);padding:24px;display:grid;grid-template-columns:repeat(3,max-content);gap:32px;z-index:40;white-space:normal}
.wi-drop__panel p{font:600 16px/24px var(--font-display);margin:0 0 8px}
.wi-drop__panel a{display:block;min-height:0;padding:4px 0;font-weight:400}
.wi-mmenu{position:fixed;left:0;right:0;top:var(--header-h-mobile);bottom:0;overflow-y:auto;z-index:30;border-top:1px solid var(--border-subtle)}
.wi-mmenu[hidden]{display:none}
.wi-lock{overflow:hidden}
.wi-sticky{position:fixed;left:0;right:0;bottom:0;transition:transform .2s}
.wi-sticky.is-hidden{transform:translateY(110%)}
@media (prefers-reduced-motion:reduce){.wi-sticky{transition:none}}
@media (max-width:1023px){body.wi{padding-bottom:64px}.wi-footer{padding-bottom:24px}}
.wi-table-wrap{overflow-x:auto;margin-top:8px}
.wi-table{border-collapse:collapse;width:100%;min-width:560px;background:var(--white);font-size:15px;line-height:22px}
.wi-table th,.wi-table td{text-align:left;padding:14px 16px;border-bottom:1px solid var(--border-subtle);vertical-align:top}
.wi-table thead th{font:600 15px/22px var(--font-display);border-bottom:2px solid var(--graphite)}
.wi-table tbody th{font-weight:600}
.wi-muted-note{font-size:14px;line-height:22px;margin:12px 0 0}
.wi-list{margin:0;padding:0;list-style:none;display:grid;gap:8px}
.wi-list li{padding-left:18px;position:relative}
.wi-list li::before{content:"";position:absolute;left:0;top:12px;width:8px;height:2px;background:var(--taupe)}
@media (min-width:768px){.wi-list--2{grid-template-columns:1fr 1fr;column-gap:32px}}
.wi-prose{display:grid;gap:16px}
.wi-prose p{margin:0;max-width:70ch}
.wi-stack{display:grid;gap:48px}
.wi-sub{display:grid;gap:24px;align-items:center}
@media (min-width:1024px){.wi-sub{grid-template-columns:1fr 1fr;gap:64px}.wi-sub--flip>:first-child{order:2}}
.wi-related{display:flex;flex-wrap:wrap;gap:12px}
.wi-status{display:none;gap:10px;padding:16px;border-radius:var(--radius-sm);border:2px solid var(--state-error);background:var(--white);color:var(--ink);grid-column:1/-1}
.wi-status.is-on{display:grid}
.wi-status p{margin:0}
.wi-status .wi-actions{margin-top:4px}
.wi-btn[disabled]{opacity:.6;cursor:progress}
.wi-area{padding:20px 0;border-top:1px solid var(--border-subtle);display:grid;gap:6px}
@media (min-width:768px){.wi-area{grid-template-columns:260px 1fr;gap:24px}}
.wi-area h2{font:600 20px/28px var(--font-display);margin:0}
.wi-area p{margin:0}
.wi-ph{outline:1px dashed var(--taupe);outline-offset:2px}
.wi-center{text-align:left}
.wi-gallery{display:grid;gap:16px;grid-template-columns:1fr 1fr}
@media (min-width:1024px){.wi-gallery{grid-template-columns:repeat(4,1fr)}}
.wi-contact-list{display:grid;gap:14px;margin:0;padding:0;list-style:none}
.wi-contact-list a,.wi-contact-list span{display:flex;align-items:center;gap:10px}
.wi-contact-list .wi-direct-dark{color:var(--ink)}
.wi-banner{background:var(--graphite);color:var(--white);font-size:13px;line-height:18px;text-align:center;padding:6px 12px}
.wi-error[hidden]{display:none}
.wi-sticky .wi-btn,.wi-header__cta .wi-btn{white-space:nowrap}
.wi-related .wi-btn,.wi-actions .wi-btn{padding-block:10px}
/* site-visit pop-up (opens on click only) */
.wi-modal{border:0;padding:0;width:min(560px,calc(100% - 32px));max-height:92vh;overflow:auto;border-radius:var(--radius-md);background:var(--white);color:var(--ink)}
.wi-modal::backdrop{background:rgba(47,47,49,.6)}
.wi-modal__head{display:flex;justify-content:space-between;align-items:center;padding:12px 20px 0 20px}
.wi-modal__title{font:600 20px/28px var(--font-display);margin:0}
.wi-modal__close{display:inline-flex;align-items:center;justify-content:center;width:48px;height:48px;border:0;background:none;cursor:pointer;color:var(--graphite);margin-right:-12px}
.wi-modal .wi-form{border-radius:0;padding:12px 20px 20px}
@media (max-width:767px){.wi-modal{width:100%;max-width:100%;margin:auto 0 0;border-radius:12px 12px 0 0;max-height:90vh}}
/* r5 — cookie consent banner (non-blocking; sits above the mobile sticky bar so Call/WhatsApp stay usable) */
.wi-consent{position:fixed;left:0;right:0;bottom:0;z-index:25;background:var(--white);box-shadow:var(--shadow-rule-top);padding:16px var(--gutter-mobile) calc(16px + env(safe-area-inset-bottom,0px))}
.wi-consent[hidden]{display:none}
.wi-consent__in{max-width:var(--container-max);margin:0 auto;display:grid;gap:12px}
.wi-consent__text{margin:0;font:400 14px/22px var(--font-body);color:var(--ink)}
.wi-consent__text a{color:var(--ink)}
.wi-consent__btns{display:grid;grid-template-columns:1fr 1fr;gap:8px}
@media (max-width:1023px){.wi-sticky~.wi-consent{bottom:calc(64px + env(safe-area-inset-bottom,0px));padding-bottom:16px}.wi-sticky.is-hidden~.wi-consent{bottom:0}}
@media (min-width:768px){.wi-consent__in{grid-template-columns:1fr auto;align-items:center;gap:24px}.wi-consent__btns{grid-template-columns:auto auto}.wi-consent__btns .wi-btn{min-width:120px}}
.wi-linkbtn{background:none;border:0;padding:0;font:inherit;color:inherit;cursor:pointer;text-align:left}
.wi-linkbtn:hover{text-decoration:underline;color:var(--on-dark)}
.wi-linkbtn:focus-visible,.wi-consent .wi-btn:focus-visible{outline:2px solid var(--taupe);outline-offset:2px}
/* r5.3 — real project photos fill the same frames the placeholders used */
.wi-photo--real{background:none;padding:0;display:block;position:relative;overflow:hidden}
.wi-photo--real img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;display:block}
@media (min-width:1024px){.wi-hero__photo.wi-photo--real{min-height:360px}}
/* r5.5 — whole boxes are clickable: one real link per box, stretched over it (keyboard + screen readers still see one link) */
.wi-card,.wi-tile,.wi-area{position:relative}
.wi-stretch{color:inherit;text-decoration:none}
.wi-stretch::after{content:"";position:absolute;inset:0;z-index:1}
.wi-card__link.wi-stretch{text-decoration:underline}
.wi-card:hover{border-color:var(--taupe)}
.wi-card:hover .wi-card__link,.wi-tile:hover .wi-tile__title a,.wi-area:hover h2 a{text-decoration:underline}
.wi-area:hover{background:rgba(214,201,185,.25)}
.wi-card:focus-within,.wi-tile:focus-within,.wi-area:focus-within{outline:2px solid var(--taupe);outline-offset:3px}
.wi-stretch:focus-visible{outline:none}
.wi-photo-link{display:block;text-decoration:none}
.wi-photo-link:hover .wi-photo{opacity:.92}
.wi-photo-link:focus-visible{outline:2px solid var(--taupe);outline-offset:3px;border-radius:var(--radius-md)}
/* r5.9 — a split section whose photo is not shown (live site, unfilled spot) uses the full width */
.wi-split>:only-child{grid-column:1/-1;max-width:760px}
